【发布时间】:2013-10-11 10:09:21
【问题描述】:
我要优化我的代码。我有 3 个选项,不知道哪个更适合 Lua 中的内存:
1)
local Test = {}
Test.var1 = function ()
-- Code
end
Test.var2 = function ()
-- Code
end
2) 或
function var1()
-- Code
end
function var2()
-- Code
end
3) 或许
local var1 = function ()
-- Code
end
local var2 = function ()
-- Code
end
【问题讨论】:
-
我认为第三比第二好,但不确定
-
你想optimize here做什么?如果您想要面向对象的结构,请使用第一个,如果您想要添加全局变量,可以从任何地方访问,请使用第二个(2 个函数并不昂贵),如果您希望函数在本地范围内可见,请使用第三个选项.
-
这与优化内存有什么关系?
-
除了@YuHao 在他的回答中已经告诉过您的内容之外,请始终记住将您的主要精力放在制作程序上:1.正确,2.可读(人类!)。在这个四核世界中,超级优化编译器和具有大量内存/速度优化的操作系统很少受到关注,除非您遇到非常具体的问题,但在这种情况下您需要成为专家(或者你需要雇一个)。当然,如果您只是学习 Lua,最好了解一些影响性能/内存占用的实现细节,但是“我想优化我的代码”对于初学者来说通常是一个很大的禁忌。
-
我的内存资源有限,我会定期崩溃。我不想使用优化,因为它很好。我需要它!
标签: performance memory optimization lua