Lua - Lua函数最优化的方法是什么?

时间:2015-02-03 23:50:19

标签: loops optimization lua

在我问我的问题之前,我进行了搜查。 我有两种方法来制作循环。我想知道两者是更优化的。也许你可以找到更好的。 目标是每1秒循环一次。这已经有效了。

感谢您及时解释。哪一个是最好的。在提出第三种选择之前。

  • 我的方法1:

    content=0
    function loop1()
        content=content+1
    end
    
    timer.Create("myloop",1,0,function() loop1() end)
    
  • 我的方法2:

    content=0    
    Table={
        loop1=function()
            content=content+1
        end
    }
    
    timer.Create("myloop",1,0,function() Table:loop1() end)
    

编辑:

  • 我的方法3:

    content=0    
    timer.Create("myloop",1,0,function() content=content+1 end)
    

注: timer.Create = infinit循环中的0。 在timer.Create =启动函数,每秒1次。

该功能的内容通过对基础似乎没有帮助的东西进行了简化。但我感兴趣的是基本方法。

1 个答案:

答案 0 :(得分:2)

将函数放在表中不会获得任何结果,并强制进行额外的表查找。

timer.Create调用中添加额外的包装(未命名)函数也不是一件有用的事情,因为它只是为进程添加了额外的函数调用开销。

使用locals总是比使用全局变量更好。

以下内容可能是最好的:

local content = 0
local function loop1()
    content = content + 1
end

timer.Create("myloop", 1, 0, loop1)