是否存在LuaJIT执行代码的速度甚至比C还要快的情况?
搜索之后,我发现有人谈论它至少可以与C代码相抗衡的事实,但是我从未见过/找不到示例,而且我无法想象如何创建Lua比C更快的设置,因为Lua似乎依赖C库。
有人会发生这种情况吗?和/或可以向我展示Lua比C代码更快的示例吗?
答案 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