当前位置 : 主页 > 网络编程 > lua >

有人可以解释Lua的口译员,为什么这么快?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我一直在查看 Lua’s standalone interpreter的源代码,到目前为止我还没有能够理解它. 也许我的谷歌搜索技能已经磨损,但我无法找到一个很好的解释,它是如何工作的. Lua的代码似乎针对性能
我一直在查看 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.

网友评论