为什么LuaJIT这么好?

时间:2011-02-06 05:24:51

标签: lua jit luajit

编辑:遗憾的是,LuaJIT在下面的链接中被取消了比较。

这种comparison编程语言表明,LuaJIT比普通的Lua实现有十倍以上的改进。 为什么变化如此之大?是否有一些特定的Lua使得它从JIT编译中受益匪浅? Python是动态类型化的,并且也被编译为字节码,那么为什么PyPy(我相信现在有JIT)显示出如此大的性能提升?

1 个答案:

答案 0 :(得分:63)

Mike Pall在几个地方谈过这个问题:

与每个高性能系统一样,答案最终归结为两件事:算法和工程。 LuaJIT使用高级编译技术,它还具有非常精细的实现。例如,当花哨的编译技术无法处理一段代码时,LuaJIT就会回归到用x86汇编编写的非常快速的解释器。

LuaJIT在工程方面得到了双点,因为LuaJIT本身不仅设计精良,而且Lua语言本身比Python和JavaScript更简单,更连贯。这使得实现(稍微)更容易实现始终如一的良好性能。