Lua 5.1代码效率优化

用Lua的时候可能需要涉及到效率的情况,毕竟Lua代码量大了之后速度肯定会有所降低,这边就是经历了各种效率测试积累的经验并且记录下来。

辟谣:
1、lua中乘以0.5和除以2的效率是一样的,因此不需要纠结乘除法,反而除以2还少一个字节。

提示:
1、Lua访问函数的开销非常大,即尽量减少函数的调用
2、访问全局变量比局部变量慢,因为访问全局变量需要查全局表

数学算法加速:

--math.abs实现,效率提高至少5倍
y = x < 0 and -x or x
--math.floor实现,效率提高至少5倍
y = x - x % 1
--math.ceil实现,效率提高至少2倍
y = x - x % 1 + ( ( x % 1 == 0) and 0 or 1 )
--math.max实现,效率提高至少8倍
y = a <= b and b or a
--math.min实现,效率提高至少8倍
y = a >= b and b or a
--math.deg实现,效率提高至少8倍
y = x*180/3.1415926535898
--math.rad实现,效率提高至少8倍
y = x/180*3.1415926535898