LUA:链接功能的性能/效率



我一直认为LUA(5.1版(中的链接函数的性能会比先本地化然后调用下一个函数差。

我只是错了还是我的简单基准不正确?

local clock = os.clock
local plugin = {}
function plugin:Test()
return { SubTest = function() return "hello" end }
end
collectgarbage(); collectgarbage()
local start = clock()
for i=1, 1000000 do
plugin:Test():SubTest()
end
print(clock() - start, collectgarbage("count") / 1024)
collectgarbage(); collectgarbage()
local start = clock()
for i=1, 1000000 do
local module = plugin:Test()
module:SubTest()
end
print(clock() - start, collectgarbage("count") / 1024)

在LUA中链接函数的性能会比先本地化然后调用下一个函数差

只有当您多次使用本地(缓存(值时,这才是真的。

我的简单基准不正确吗?

基准测试中的两个循环都被编译为(几乎(相同的Lua字节码,因此它们的性能必须相等。

最新更新