9thNerZul
forum/warcraft3
offline
Опыт:
4,869Активность: |
Много ли кушают глобалки^^?
Пользуюсь своим методом близким к параллельным массивам, более удобным для мну). Начитавшись статей про оптимизацию) задался вопросом, а ведь в каждом триггере ~ 5 глобалок (просьба не спорить на эту тему), собственно вопрос: насколько сильно они "жрут" память? |
03.01.2010, 15:54 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SRes
1110101000
offline
Опыт:
9,997Активность: |
В наше время об этом задумываться идиотизм. Хоть 100 переменных ни на что не повлияют.
|
03.01.2010, 16:14 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
если речь идет про использование то вопрос спорный.
Bee добавил: автор упомянул статью про оптимизацию. про локации всякие |
03.01.2010, 16:26 | #3
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
9thNerZul
forum/warcraft3
offline
Опыт:
4,869Активность: |
Не, не про локации, допустим у нас 50триггеров, вернее функций, триггер на событие 1, и как минимум 250глобалок(масивов) типа unit,real и т.д. Допустим 150из них не используются(допустим не выбрали героя с такими спэллами), вот те что не используются - сильно ли они жрут? |
03.01.2010, 16:56 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SRes
1110101000
offline
Опыт:
9,997Активность: |
Читай мой пост и задумайся. Повлияют ли переменные (real переменная весит 4 или 8 байт, поидее) на те 1-2 гб памяти ? У кого-то и поболее.
|
03.01.2010, 16:58 | #5
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
учитывая размер оперативной памяти это не повод вообще думать об оптимизации.
48 байт переменная 8 килобайт массив. |
03.01.2010, 17:02 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
9thNerZul
forum/warcraft3
offline
Опыт:
4,869Активность: |
Спасибо большое за инфу теперь не стоит боятся) |
03.01.2010, 17:05 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
размер массивов вроде бы переменный, зависит от того скоко элементов юзаешь |
03.01.2010, 17:08 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
if VAR == 0 then
blabla if VAR[99] == 0 then
muhaha а потом будешь рассказывать о переменности размеров массива.
пс. для тех кто в танке это надо дописать и протестировать, переменные не трогать, то есть не заполнять какими либо значениями самостоятельно. |
03.01.2010, 17:11 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
при обращении к неаллоченному элементу массива вар вроде убивает поток |
03.01.2010, 17:28 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
ответ неверный (собственно это и есть основное и единственное доказательство того что массивы заполнены пустотой в отличии от переменных что ничем не заполнены)
|
03.01.2010, 17:30 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
agentex, да
|
03.01.2010, 17:33 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
энивей неалоченный массив не содержит несколько элементов, пока к его ячейке не обратишься, т.е. один массив изначально по размеру как одна-две переменных этого типа(+мишура), но скорость доступа самая низкая. |
03.01.2010, 17:35 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
при обращение к нелоченому он просто его лочит О_О и лочит на 128 елементов в твоём случие т.е. слот будет последний 127. ну и так до 8192*
* 8191 эти все вопросы давно обмусолены. |
03.01.2010, 17:35 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
Лочит, но не заполняет.
ScorpioT1000 добавил: хотя для сторонних процессов это не важно - память занята. |
03.01.2010, 17:44 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
нет заполняет 0ми О_О иначе бы при чтение рандомного слота из массива был бы муссор.
|
03.01.2010, 17:51 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
ответ неверный (собственно это и есть основное и единственное доказательство того что массивы заполнены пустотой в отличии от переменных что ничем не заполнены)
|
03.01.2010, 17:58 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
а там не мусор? |
03.01.2010, 18:01 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
омфг вы что конченые !? один круче другого.
Цитата:
тут всё понятно короче =) |
|
03.01.2010, 18:27 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
ну я знаю когда объявляешь локалку там мусор :) ибо она не инициализируется, даже когда пишешь local type name = value, value присваивается отдельно :) также как и его гдето ниже написать насчет массивов не должно быть круче, ты это гдето тестил ? |
03.01.2010, 20:14 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|