为什么 Lua 口译员解释起来总是如此迅速高效?
- 内容介绍
- 文章标签
- 相关推荐
本文共计244个文字,预计阅读时间需要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.
本文共计244个文字,预计阅读时间需要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.

