你能明确要求 Lua 编译器内联吗? LuaJIT 怎么样?

Can you explicitly ask the Lua compiler to inline? What about the LuaJIT?

标准 Lua 编译器中是否有关键字或其他功能允许您显式 inline? LuaJIT 怎么样?

vanilla Lua 解释器中没有函数内联。存在一些用于在源级别内联代码的工具,但这不是您要的。

LuaJIT 在生成本机代码时会进行一些内联​​,但这无法从外部控制,没有明确的 'inline' 关键字。并且可以内联的内容有限制。 IE。使用 FFI 库对本机代码的调用将被内联,但对通过经典 Lua/C 接口注册的函数的调用不能。

没有。

不过,它只能应用于 closures 之外的函数。 (用其他方式实现闭包似乎不值得;因为哪里会节省时间?)

在某些情况下,tail-call 会带来更多优势,特别是如果您关心的是堆栈 space。