Слышал, что не стоит создавать много хештаблиц, так как это занимает много памяти.
function TimerCallback takes nothing returns nothing
call InitHashtable( )
endfunction
function Start takes nothing returns nothing
call TimerStart( CreateTimer( ), 0.010, true, function TimerCallback )
endfunction
Или вес хештаблицы растёт по мере добавления в неё данных? Но тогда в чём проблема большого количества хештаблиц. Ведь что одна хештаблица весом 10, или пять хештаблиц весом по 2. В итога оба варианта весят по 10.
Принятый ответ
Каждый новый хеш-тейбл инициализируется заново и остаётся висеть в оперативке до удаления из скрипта карты или до завершения игры (по крайней мере, мне так помнится). Операции выделения памяти довольно тяжёлые сами по себе, но куда значимее тот факт, что пересоздание и плождение таблиц - абсолютно бессмысленные операции по своей сути, они не несут вообще никакого положительного выхлопа.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Clamp
Но вообще да, в движке жестко указано 255 таблиц максимум, дальше InitHashtable просто не сработают.
Отредактирован Clamp
Или я неверно понял сообщение?
Отредактирован DracoL1ch