LuaJIT可以比C快吗?

时间:2018-07-14 20:29:09

标签: c performance lua

是否存在LuaJIT执行代码的速度甚至比C还要快的情况?

搜索之后,我发现有人谈论它至少可以与C代码相抗衡的事实,但是我从未见过/找不到示例,而且我无法想象如何创建Lua比C更快的设置,因为Lua似乎依赖C库。

有人会发生这种情况吗?和/或可以向我展示Lua比C代码更快的示例吗?

2 个答案:

答案 0 :(得分:0)

here所述,Lua被嵌入到 C中。它只能与C一样快,但更慢。它不可能比自己的实现语言快。

答案 1 :(得分:0)

您正在混合Lua和LuaJIT。第一个是纯解释器,与C性能无关。

另一方面,在LuaJIT中,尽管仍然是用C构建的,但性能关键部件却直接用汇编语言(DynASM,也与LuaJIT项目相关)来实现。而且,顾名思义,如果跟踪器决定这样做是正确的,则可以对Lua代码进行JIT编译。

在这里,您会发现一些(也许有些偏颇)代码,说明LuaJIT如何非常快速地进行表查找并至少在这种情况下优于C / C ++。 https://gist.github.com/spion/3049314