Lua - Lua 函数最优化的方法是什么?
Lua - What is the most optimized method of a Lua function?
我在提问之前进行了搜索。
我有两种制作循环的方法。我想知道两者哪个更优化。也许你能找到更好的。
目标是每 1 秒循环一次。这已经有效了。
谢谢您抽空解释。哪一个是最好的。在提出第三种方案之前。
我的方法一:
content=0
function loop1()
content=content+1
end
timer.Create("myloop",1,0,function() loop1() end)
我的方法二:
content=0
Table={
loop1=function()
content=content+1
end
}
timer.Create("myloop",1,0,function() Table:loop1() end)
编辑:
我的方法三:
content=0
timer.Create("myloop",1,0,function() content=content+1 end)
图例:
timer.Create 中的 0 = 无限循环。
1 in timer.Create = 启动函数,每秒 1 个。
功能的内容简化了一些,似乎对基础没有帮助。但是我感兴趣的是基本方法。
将函数放在 table 中对您没有任何好处,并且会强制进行额外的 table 查找。
在 timer.Create
调用中添加额外的包装(未命名)函数也不是一件有用的事情,因为它只会给进程增加额外的函数调用开销。
使用局部总是比使用全局更好。
类似下面的内容可能是最好的:
local content = 0
local function loop1()
content = content + 1
end
timer.Create("myloop", 1, 0, loop1)
我在提问之前进行了搜索。 我有两种制作循环的方法。我想知道两者哪个更优化。也许你能找到更好的。 目标是每 1 秒循环一次。这已经有效了。
谢谢您抽空解释。哪一个是最好的。在提出第三种方案之前。
我的方法一:
content=0 function loop1() content=content+1 end timer.Create("myloop",1,0,function() loop1() end)
我的方法二:
content=0 Table={ loop1=function() content=content+1 end } timer.Create("myloop",1,0,function() Table:loop1() end)
编辑:
我的方法三:
content=0 timer.Create("myloop",1,0,function() content=content+1 end)
图例: timer.Create 中的 0 = 无限循环。 1 in timer.Create = 启动函数,每秒 1 个。
功能的内容简化了一些,似乎对基础没有帮助。但是我感兴趣的是基本方法。
将函数放在 table 中对您没有任何好处,并且会强制进行额外的 table 查找。
在 timer.Create
调用中添加额外的包装(未命名)函数也不是一件有用的事情,因为它只会给进程增加额外的函数调用开销。
使用局部总是比使用全局更好。
类似下面的内容可能是最好的:
local content = 0
local function loop1()
content = content + 1
end
timer.Create("myloop", 1, 0, loop1)