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