Lua 5.3为何很慢?该不该升级?

随便搜索了一个 luajit, lua5.1, lua5.3的比较,虽然只是比较浮点数的矩阵乘法(不能很好的体现 Lua5.3的整数性能),但是怎么 5.3可以比 5.1慢那么多呢?连 5.3最擅长的整数也不见得多块 八皇后求解 N次: Lua 5.1.5: 4.044 秒 Lua 5.3.0: 4.761 秒 速度差别:17% 整数矩阵乘法: Lua 5.1.5: 3.788 秒 Lua 5.3.0: 3.948 秒 速度差别:4% 浮点矩阵乘法: Lua 5.1.5: 3.809 秒 Lua 5.3.0: 3.896 秒 速度差别:2% 对于逻辑来说,…
关注者
143
被浏览
24923

7 个回答

题主贴的数据不是自己跑的测试而是引用某位印度码农Dibyendu Majumdar的吧。是的话发问题的时候请带上出处啊。
general - Another benchmark - Lua 5.3 versus Ravi versus LuaJIT - msg#31807
C:\github\ravi\ravi-tests>\luajit\luajit.exe matmul2.lua 1000
time taken      0.968
-95.5835833333

C:\github\ravi\ravi-tests>..\build\Release\lua.exe  matmul1.ravi 1000
time taken      4.2
-95.5835833333

C:\github\ravi\ravi-tests>\lua-5.3.0\src\build\Release\lua.exe matmul1.lua 1000
time taken      34.604
-95.5835833333
这里第二个测试的不是Lua,而是带类型标注、相应的内建类型和运行时增强、外加LLVM JIT的Ravi。这名字实在太印度了非常好认。

这位大大在Lua mailing list上异常活跃嗯…

想跑题主说的测试的同学,请在这里看测试的源码:ravi/ravi-tests at master · dibyendumajumdar/ravi · GitHub
建议题主也试试自己用Lua 5.1和5.3跑跑那benchmark,看看是不是“性能差10倍”。
lua5.1和lua5.3没有10倍的差距,也就10%的差距吧.
为什么?