Header, code, data etc. size - подскажите по поводу оптимизации
#1

Приветствую, вот при компиляции выдает следующее:

Код:
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase

Header size:           6832 bytes
Code size:           552520 bytes
Data size:           511304 bytes
Stack/heap size:      16384 bytes; estimated max. usage: unknown, due to recursion
Total requirements: 1087040 bytes
Мод пишется с 0, строк ~ 8000-8500. Пытался писать как можно оптимизировано, где-то тут прочитал, что якобы из-за этого бывают временами лаги, хотел поинтересоваться у знающих людей, так ли это или нет? Если не так, тогда как сильно это сказывается на работе сервера? И возможно ли вообще это избежать ? Заранее спасибо за ответ.
Reply
#2

Вы используете массивы очень большого размера, в итоге получаете это. Можете использовать прагму.
Reply
#3

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Вы используете массивы очень большого размера, в итоге получаете это. Можете использовать прагму.
Старался при создании массивов не выделять лишних ячеек. Это сильно влияет на работу сервера ?
Reply
#4

И, помимо этого варианта, могут ли быть еще другие ? Т.к. каждый раз, когда я делал что-либо, я компилировал мод, и никогда этого не было, и вот на днях сразу выскакивает это... с такими размерами... Хотя если мне не изменяет моя память, я ничего в моде вроде как в моде не трогал...
Reply
#5

Внутри функции имеется массив количество ячеек которых превышает 2048. Можете использовать прагму.
Reply
#6

Quote:
Originally Posted by Maikkk
Посмотреть сообщение
И, помимо этого варианта, могут ли быть еще другие ? Т.к. каждый раз, когда я делал что-либо, я компилировал мод, и никогда этого не было, и вот на днях сразу выскакивает это... с такими размерами... Хотя если мне не изменяет моя память, я ничего в моде вроде как в моде не трогал...
А с чего вы решили что появление данного сообщения как-то влияет на оптимизацию?
Reply
#7

Quote:
Originally Posted by White_116
Посмотреть сообщение
Внутри функции имеется массив количество ячеек которых превышает 2048. Можете использовать прагму.
И близко ничего нет. Максимум 128 ячеек. (и то, это в OnGameModeInit). (в циклах, а так, максимум 256 и то их мало).

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
А с чего вы решили что появление данного сообщения как-то влияет на оптимизацию?
Ведь это грузит ОЗУ? Ну и соответственно будет больше нагрузки. Возможно я описался, я имел ввиду нагрузку. При кол-ве строк ~8500, я должен был наверное при каждом объявлении массива ставить ему размер минимум 512 если не 1024, 2048, а там максимум 256 (и то не в цикле), таких всего штук 5-8 максимум.
Reply
#8

Quote:
Originally Posted by Maikkk
Посмотреть сообщение
Ведь это грузит ОЗУ?
нет.
Quote:
Originally Posted by Maikkk
Посмотреть сообщение
Ну и соответственно будет больше нагрузки.
ммм, от лишних пары килобайт?
Quote:
Originally Posted by Maikkk
Посмотреть сообщение
Возможно я описался, я имел ввиду нагрузку. При кол-ве строк ~8500, я должен был наверное при каждом объявлении массива ставить ему размер минимум 512 если не 1024, 2048, а там максимум 256 (и то не в цикле), таких всего штук 5-8 максимум.
засунь свои ~8500, сам знаешь куда, нам плевать, это не влияет на нагрузку.
А вот массивы надо проверять.
Reply
#9

Quote:
Originally Posted by Maikkk
Посмотреть сообщение
И близко ничего нет. Максимум 128 ячеек. (и то, это в OnGameModeInit). (в циклах, а так, максимум 256 и то их мало).
Проверь инклуды, если не умеем считать многомерные массивы то просто перемножь (new ololo[1][2][3]; 1*2*3)
И что вы так переживаете, не умрёт ваш сервер от этого. быстрее вы for-ами и if-ами всё напортачите.

Юзай прагму!
Reply
#10

Quote:

Ведь это грузит ОЗУ?

Тогда какой смысл от этого? Если ничего он не грузит?

Quote:

ммм, от лишних пары килобайт?

Чем дальше тем больше этих "пары килобайт" будет.

Quote:

засунь свои ~8500, сам знаешь куда, нам плевать, это не влияет на нагрузку.

Совать ~8500 будешь ты себе, ок? Не нужно себя тут показывать, если ты модерируешь данный раздел, это не значит что ты тут король, возраст детского сада уже я думаю позади, так что лучше общаться немного по вежливей и по адекватней, т.к. я тебя и никого тут не оскорблял.

Quote:

А вот массивы надо проверять.

По поводу массивов, я ни одного не добавлял. (Раньше было все в порядке, если были бы проблемы, я бы понял из-за какого именно).

Quote:

Проверь инклуды, если не умеем считать многомерные массивы то просто перемножь (new ololo[1][2][3]; 1*2*3)
И что вы так переживаете, не умрёт ваш сервер от этого. быстрее вы for-ами и if-ами всё напортачите.

Юзай прагму!

Такого в массивах нет. Многомерных массивов всего пару штук (2-х мерных, 3-х нету, и 2-х мерных нету в циклах). Прагму? Разве нельзя исправить это? Или каждый сталкивается с этим и решение этому - прагма ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)