我一直在查看来自 Lua's standalone interpreter 的源代码到目前为止我还无法理解它。
也许我的谷歌搜索技能已经磨损,但我一直无法找到一个很好的解释它是如何工作的。 Lua 的代码似乎针对性能而不是可读性进行了优化。
最佳答案
感知速度有两个来源:脚本编译和脚本执行。
脚本编译使用递归下降解析器结合优先表达式解析器。见 http://www.lua.org/source/5.1/lparser.c.html .
脚本执行为虚拟机解释指令。这台机器很快,因为它专门处理 Lua 的语义,还因为它是一个基于寄存器的虚拟机,比早期版本的 Lua 中使用的基于堆栈的虚拟机要快。见 http://www.lua.org/source/5.1/lopcodes.h.html .
关于lua - 有人可以解释一下 Lua 的解释器,为什么它这么快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19962262/