string`и
#1

Вообщем заинтересовался оптимизацией.
Вообщем вопрос такой...
Скачал мод с паблика, и вижу следующую картину, в каждом новой функции создаются массивы 144, 128, 512 ячеек, не суть. Вопрос!? Как же уменьшить количество создаваемых стрингов?
Пример как было?
PHP Code:
public result() { new str[128]; SCM(-1,pi,str) }
public 
value(){new str[128]; SCM(-1,pi,str)} 
Поможет ли это?
PHP Code:
new str[127];
public 
value(){ SCM(-1,pi,str)}
public 
result(){ SCM(-1,pi,str)} 
Какие могут быть ошибки если использовать единый стринг?
Что еще кроме стрингов советуете посмотреть?
Reply
#2

Это не оптимизация, это экономия памяти.
Reply
#3

Quote:
Originally Posted by Stepashka
View Post
Это не оптимизация, это экономия памяти.
Экономия памяти - это оптимизация.
Reply
#4

Так что ещё посоветуете посмотреть кроме строк ?
Reply
#5

Касаемо примеров: лучше уж подсчитать то, сколько реально требуется ячеек в массиве для хранения текста, а не то, что ты делаешь.

А посмотреть советую то, как реализованы системы и подумать как можно реализовать всё лучше
Reply
#6

Quote:
Originally Posted by pozitiv4eg
View Post
Так что ещё посоветуете посмотреть кроме строк ?
Посмотри меня, посмотри меня!
Reply
#7

Странно говорить об оптимизации в данном контексте, т.к. память под переменные, описанные внутри функций, выделяется из стека. Размер стека остаётся неизменным на протяжении всего времени работы программы (скрипта). И, если этого объёма достаточно для выполнения, то ничего выносить в область глобальных переменных не требуется. Если же объёма не хватает, то нужно его увеличить. Глобальными же лучше делать большие массивы (1к и более), но нужно помнить, что при этом увеличивается размер *.amx файла.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)