为什么Lua口译员的速度如此之快?
- 内容介绍
- 文章标签
- 相关推荐
本文共计242个文字,预计阅读时间需要1分钟。
我在查看Lua的独立解释器源代码时,至今仍难以理解其工作原理。尽管我的谷歌搜索技巧已经相当娴熟,但仍无法找到一个很好的解释。Lua的代码似乎主要针对性能。
我一直在查看 Lua’s standalone interpreter的源代码,到目前为止我还没有能够理解它.也许我的谷歌搜索技能已经磨损,但我无法找到一个很好的解释,它是如何工作的. Lua的代码似乎针对性能进行了优化,而不是可读性.
速度感知有两个来源:脚本编译和脚本执行.脚本编译使用递归下降解析器与优先表达式解析器相结合.见www.lua.org/source/5.1/lparser.c.html.
脚本执行解释虚拟机的指令.这台机器很快,因为它专门用于Lua的语义,也因为它是一个基于寄存器的虚拟机,比早期版本的Lua中使用的基于堆栈的虚拟机更快.见www.lua.org/source/5.1/lopcodes.h.html.
本文共计242个文字,预计阅读时间需要1分钟。
我在查看Lua的独立解释器源代码时,至今仍难以理解其工作原理。尽管我的谷歌搜索技巧已经相当娴熟,但仍无法找到一个很好的解释。Lua的代码似乎主要针对性能。
我一直在查看 Lua’s standalone interpreter的源代码,到目前为止我还没有能够理解它.也许我的谷歌搜索技能已经磨损,但我无法找到一个很好的解释,它是如何工作的. Lua的代码似乎针对性能进行了优化,而不是可读性.
速度感知有两个来源:脚本编译和脚本执行.脚本编译使用递归下降解析器与优先表达式解析器相结合.见www.lua.org/source/5.1/lparser.c.html.
脚本执行解释虚拟机的指令.这台机器很快,因为它专门用于Lua的语义,也因为它是一个基于寄存器的虚拟机,比早期版本的Lua中使用的基于堆栈的虚拟机更快.见www.lua.org/source/5.1/lopcodes.h.html.

