为什么Lua中的本地化功能更快?

时间:2015-10-05 09:19:18

标签: performance lua

  

测试1:本地化

     

代码:

local min = math.min
     

结果:

     

非本地:0.719(158%)
  本地化:0.453(100%)

     

结论:

     

是的,我们应该本地化所有标准的lua和Spring API函数。

来源:https://springrts.com/wiki/Lua_Performance

性能提升的原因是什么?

1 个答案:

答案 0 :(得分:4)

  

local min = math.min

请记住,table.name只是table["name"]的语法糖(它们完全相同)。全局变量只是环境表中的键,因此math.min_ENV["math"]["min"]。这是用于获取实际函数值的两个哈希表查找。

将值复制到local会将其放入VM寄存器中,因此无法查找。