LuaJIT真的比其他JIT-ed动态语言都要快吗?

据计算机语言基准测试游戏显示,LuaJIT实现似乎比其他所有JIT-ed动态语言(V8,Tracemonkey,PLT Scheme,Erlang HIPE)都快一个数量级

我知道这些基准测试并不能代表真实情况(就如他们所说:“哪些编程语言实现的基准测试程序最快?”),但这仍然非常印象深刻。

在实践中,这是否真的如此?有人测试过Lua实现吗?

原文链接 https://stackoverflow.com/questions/2588071

点赞
stackoverflow用户33252
stackoverflow用户33252

有一个很好的讨论在Lambda the Ultimate。LuaJIT非常好。

许多人在lua-l(Lua邮件列表)上报告了令人印象深刻的加速。加速最为显著的是对纯Lua代码的优化;当存在许多调用可加载库模块中的C函数时,跟踪编译器的效果并不那么明显。

2010-04-06 21:30:34
stackoverflow用户331814
stackoverflow用户331814

我进行了一个实验,这个实验结合了这里学到的经验:http://www.sampalib.org/luajit2.0_tunning.html。一些数据已不再有效(maxmcode=1024就足够了),但是 luajit 对一个仅仅是600行纯 Lua 脚本的小应用中带来了稳健的改进(没有 C 调用以提高性能...),这并非一个大规模应用或者嵌入式环境,但远远超出了基准测试的范畴。

2010-05-03 21:29:54
stackoverflow用户238973
stackoverflow用户238973

在我的情况下(一个游戏原型开发),我没有观察到任何性能改进。我使用lua进行嵌入,因此有很多调用C++库函数的情况。即使主循环在lua脚本中,所有重要逻辑都是用lua实现的,但整体性能是由在C++中实现的渲染引擎和物理引擎决定的。原始的lua已经足够快了适用于这样的应用。

2011-01-26 16:21:27
stackoverflow用户1116975
stackoverflow用户1116975

JIT 的表现取决于两个因素:原始脚本语言的表现和编译器的表现。

编译器是一个相当成熟的技术,并且大多数 JIT 编译器具有可比较的性能。但是,lua 本身,即没有 JIT 的 lua,可能是最快的脚本语言之一。

lua 比没有 JIT 的 Java 更快。 lua 比没有 JIT 的 Javascript 更快。 lua 比大多数没有 JIT 的脚本语言更快。

因此,

lua-JIT 比带 JIT 的 Java(sun Java)更快, lua-JIT 比 V8(带 JIT 的 Javascript)更快, 等等,...

2012-02-22 01:09:38