1
在Lua 4.01中,第二个示例循环会比第一个循环效率更高吗? (对不起,我不知道正确的术语来描述这个问题。)Lua 4.01循环和变量优化
for k = 1, getn(myTable) do
...
end
local numTable = getn(myTable)
for k = 1, numTable do
...
end
而且那第三与第四个例子:
for k = 1, 4 do
bigTable[3][k]
...
end
local tempTable = bigTable[3]
for k = 1, 4 do
tempTable[k]
...
end
我知道在一些脚本语言中,这是案件。谢谢。
[编辑]
我只是想出了一些测试代码来检查例子#1#VS 2。
function Return_a_Number()
print("############# I am looping.")
return 5
end
for i = 1, Return_a_Number() do
-- do nothing
end
这表明示例#1中的getn()函数仅执行一次总计而不是每个循环一次。这是一件好事。
1对2:1,尽管它没有改变那么多。 3 vs 4:绝对4,每个循环只有一个表访问加'tempTable'是本地的,这意味着访问速度更快。 – user6245072
我问#1 vs#2的原因是,在某些语言(JavaScript)中,getn位会在每次遍历循环时执行。 – posfan12
我为#1和#2添加了一些测试代码。不知道如何测试#3和#4。 – posfan12