LuaJIT 是如何工作的 - JIT 模式

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

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

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