Lua和LuaJIT处理代码的方式有何不同?

时间:2017-03-02 22:15:44

标签: lua interpreter jit luajit

根据我的理解,标准的Lua解释器首先将输入代码编译为"字节码" (luac)的输出然后"解释"那个字节码。

但这基本上不是JIT编译器的定义吗?那时LuaJIT做了什么?它与标准的Lua解释器有何不同?怎么会这么快?

1 个答案:

答案 0 :(得分:4)

  

基本上不是JIT编译器的定义吗?那时LuaJIT做了什么?

它实现了自己的解释器,它通常比"标准"更快。 Lua解释器和它JIT-将频繁访问的片段编译为机器指令,这进一步提高了性能,但限制了可移植性(因为这些指令是机器/体系结构特定的)。

您可以在Mike Pall's overview中找到更多改进和优化。另请参阅this page for the overall JIT discussion,特别是Mike Pall's comments