如何提高Lua程序的性能?
时间:2020-03-06 14:56:36 来源:igfitidea点击:
我问了一个有关Lua性能的问题,并在以下答复中提出了一个:
Have you studied general tips for keeping Lua performance high? i.e. know table creation and rather reuse a table than create a new one, use of 'local print=print' and such to avoid global accesses.
这是与Lua模式,技巧和窍门稍有不同的问题,因为我想要专门影响性能的答案,并(如果可能)解释为什么会影响性能。
每个答案一个提示将是理想的。
解决方案
保持表格简短,表格越大,搜索时间越长。
并且在同一行中,对数字索引表(= arrays)进行迭代比基于键的表要快(因此,ipairs比对更快)
- 使最常用的功能成为本地人
- 充分利用表作为HashSets
- 通过重用减少表创建
- 使用luajit!
如果lua程序确实太慢,请使用Lua分析器并清理昂贵的东西或者迁移到C。但是,如果我们不坐在那里等待,那会浪费时间。
优化的第一法则:不要。
我很乐意看到一个问题,我们可以在对和对之间进行选择,并可以衡量差异的影响。
一个容易实现的目标是记住在每个模块中使用局部变量。一般不值得做这样的事情
local strfind = string.find
除非我们能找到一个度量标准,否则我们将无法正常运行。