У меня есть программа Lua, которая кажется медленнее, чем она должна быть. Я подозреваю, что проблема заключается в том, что я добавляю значения в ассоциативный массив по одному, и таблица должна каждый раз выделять новую память.Как вы до размера массива в Lua?
Там же, кажется, функция table.setn, но она не под Lua 5.1.3:
stdin:1: 'setn' is obsolete
stack traceback:
[C]: in function 'setn'
stdin:1: in main chunk
[C]: ?
Я собираю от Google поиск Я сделал, что эта функция была обесценились в Lua 5.1, но я не могу найти, что (если что-либо) заменило функциональность.
Вы знаете, как предварительно настроить таблицу в Lua?
В качестве альтернативы, есть ли другой способ избежать выделения памяти при добавлении объекта в таблицу?
Я прочитал это для развлечения на днях, но если вы заинтересованы в производительности lua, вы должны проверить этот документ на реализацию lua, он охватывает довольно много внутренних структур данных. http://www.lua.org/doc/jucs05.pdf – Falaina 2009-09-28 15:41:32