我有一个似乎比它应该慢的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