编辑:不幸的是LuaJIT被取出了在下面的链接的比较。
这comparison种编程语言表明LuaJIT比正常的Lua实现有十多倍的改进。
为什么变化这么大?有什么具体的Lua,使它受益于很多从JIT编译?
Python是动态类型化并编译为字节码,所以为什么不PyPy(现在,JIT现在,我相信)显示性能的这么大的跳跃?
解决方法
迈克·波尔在几个地方谈到这个问题:
> http://article.gmane.org/gmane.comp.lang.lua.general/58908
> http://lambda-the-ultimate.org/node/3851
> http://www.reddit.com/user/mikemike
与每个高性能系统一样,最终的答案归结为两件事:算法和工程。 LuaJIT使用高级编译技术,它也有一个非常精细设计的实现。例如,当花哨的编译技术无法处理一段代码时,LuaJIT会回到用x86程序集编写的一个非常快的解释器。
LuaJIT在工程方面获得双重优势,因为不仅LuaJIT本身设计得很好,而且Lua语言本身具有比Python和JavaScript更简单和更一致的设计。这使得(边缘)更容易实现以提供一致的良好性能。