我有一個似乎比它應該慢的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]: ?
我從谷歌搜索我已經做了這個函數在Lua 5.1貶值聚集,但我找不到什麼(如果有的話)取代了功能。
你知道如何在Lua中預先設定一個表嗎?
另外,有沒有其他的方式來避免內存分配時,你添加一個對象到表?
我前些日子讀了這篇文章,但如果你對lua的性能感興趣,你應該看看這篇關於lua實現的文章,它覆蓋了很多內部數據結構。 http://www.lua.org/doc/jucs05.pdf – Falaina 2009-09-28 15:41:32