为什么LuaJIT这么好?

编辑:不幸的是LuaJIT被拿出来的比较下面的链接。

这种编程语言的比较表明,LuaJIT比普通的Lua实现改进了十倍。 为什么变化如此之大? 有没有什么特别的关于Lua,使它从JIT编译中受益匪浅? Python是dynamictypes的,并且也被编译为字节码,所以为什么PyPy(我相信现在有JIT)在性能方面performance出如此大的跳跃?

迈克·帕尔(Mike Pall)曾在几个地方谈到过这个问题:

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

LuaJIT在工程方面获得了两个重点,因为LuaJIT本身不仅devise良好,而且Lua语言本身比Python和JavaScript更简单,更连贯。 这使得实现更容易(略微)提供一致的良好性能。