LuaJIT 是如何工作的 - JIT 模式

2021-06-23
阅读 3 分钟
9.8k
Just-in-time 即时编译技术,在 LuaJIT 里的具体使用是:将 Lua byte code 即时编译为机器指令,也就是不再需要解释执行 Lua bytecode,直接执行即时编译产生的机器指令。也就是说,解释模式,和 JIT 模式的输入源是一样的,都是 Lua byte code。相同的字节码输入,两种模式却可以有跑出明显的性能区别(一个数量级的区...

LuaJIT 是如何工作的 - 解释模式

2021-06-13
阅读 2 分钟
9.3k
今天我们介绍 Lua 语言的另外一个虚拟机实现 LuaJIT,LuaJIT 使用的 lua 5.1 的语言标准(也可以兼容 lua 5.2)。意味着同样一份遵守 lua 5.1 标准的代码,既可以用标准 lua 虚拟机来跑,也可以用 LuaJIT 来跑。

[趣闻] 代码顺序也会影响 LuaJIT 的执行效率

2021-04-12
阅读 2 分钟
3.2k
最近有一个有趣的发现,调整了一行 Lua 代码的顺序,执行时间却少了接近一半 😅现场案例情况下面这个 lua 脚本 order-1.lua: {代码...} 执行时间为 6.3s: {代码...} 如果将其中的 f1 函数实现,调整一下顺序: {代码...} 这个改动是将 n 的计算放到 m 计算的前面。从逻辑上来说,m 和 n 两个是并没有顺序依赖,先算哪一...