测试1:本地化
代码:
local min = math.min
结果:
非本地:0.719(158%)
本地化:0.453(100%)结论:
是的,我们应该本地化所有标准的lua和Spring API函数。
来源:https://springrts.com/wiki/Lua_Performance
性能提升的原因是什么?
答案 0 :(得分:4)
local min = math.min
请记住,table.name
只是table["name"]
的语法糖(它们完全相同)。全局变量只是环境表中的键,因此math.min
为_ENV["math"]["min"]
。这是用于获取实际函数值的两个哈希表查找。
将值复制到local
会将其放入VM寄存器中,因此无法查找。