【发布时间】:2011-06-01 03:55:59
【问题描述】:
特别是在 Lua 中,我这样做会不会造成任何伤害:
for i = 1, 10 do
local foo = bar()
-- do stuff with foo
end
而不是这个:
local foo
for i = 1, 10 do
foo = bar()
-- do stuff with foo
end
我的意思是,Lua 会尝试为foo 每次迭代分配新内存吗?第一个块会导致执行速度变慢吗?
【问题讨论】:
-
其实我做了一些简单的测试,并没有什么区别
-
另外,查看
luac -l的输出以查看VM代码。 -
您可能会在这个重复的问题上找到更详细的答案:Is it better to declare a local inside or outside a loop?
标签: performance loops lua memory-management