Lua的性能优化建议
多的使用局部变量
在lua中,局部变量的操作相对于全局变量更少。
将用到的外层函数赋值到一个局部变量中也可以大幅度的减少调用开支。
访问外层局部变量(也就是外一层函数的局部变量)并没有访问局部变量快,但是仍然比访问全局变量快。考虑如下代码:
function foo(x)
for i = 1, 1000000 do
x = x + math.sin(i)
end
return x
end
print(foo(10))
我们可以通过在 foo 函数外面定义一个 sin 来优化它:
local sin = math.sin
function foo(x)
for i = 1, 1000000 do
x = x + sin(i)
end
return x
end
print(foo(10))
第二段代码比第一段快 30%。
字符串方面
参考资料: