Insbesondere in Lua, tue ich schadet dies tun:In Lua, sollte ich eine Variable jede Iteration einer Schleife oder vor der Schleife definieren?
for i = 1, 10 do
local foo = bar()
-- do stuff with foo
end
statt dem:
local foo
for i = 1, 10 do
foo = bar()
-- do stuff with foo
end
Ich meine, wird Lua versucht jede Iteration für foo
neue Speicher zu reservieren? Könnte der erste Block zu einer langsameren Ausführung führen?
Haben Sie versucht, sie zu Timing? – marcog
tatsächlich habe ich ein paar einfache Tests gemacht und es gab keinen Unterschied –
Siehe auch die Ausgabe von 'Luac -l', um den VM-Code zu sehen. – lhf