lua jit java jit_Lua JIT 2.0 发布了,一百五十倍的性能提升!
jzhang
2014-4-7 15:44:00
閱讀(2432)
評論(2)
先把官方主頁擺出來:
外鏈網址已屏蔽luajit.org/luajit.html
Lua JIT 1.0早就有了,但是性能一般,這次的2.0是重新編寫的,優化效果有了質的飛躍。
下面這個表是作者的測試結果,其中Lua實現的MD5算法,經過JIT優化后,性能提升了152.7倍!
md5 152.7 | mandelbrot 13.4 | nsieve 4.7 |
array3d 101.5 | pidigits 12.4 | partialsums 4.1 |
array 73.5 | random 12.2 | chameneos 3.8 |
methcall 28.8 | nsievebits 12.0 | recursive 3.5 |
nsievebits 28.0 | nestedloop 11.9 | knucleotide 3.4 |
matrix 23.0 | lists 9.3 | binarytrees 2.7 |
spectralnorm 21.4 | cheapconcr 5.5 | meteor 2.0 |
fannkuch 20.9 | cheapconcw 5.4 | revcomp 1.8 |
nbody 14.8 | fasta 5.3 | sumfile 1.5 |
可見對純計算的代碼,JIT 2.0的優化效果最好,而涉及到文件的則不太明顯。
JIT 2.0這么高的性能提升,會反過來讓人質疑Lua本身的性能是不是太差了,下面這個表正好。
SciMark composite |
small score | FFT SOR MC SPARSE LU
----------------------------+---------------------------------------
GCC 4.3.2 906.1 | 739.1 909.0 190.4 1057.0 1635.1
JVM 1.6 Server 876.3 | 573.8 1185.5 297.7 579.2 1745.4
JVM 1.6 Client 579.6 | 424.8 895.8 122.8 595.5 859.0
----------------------------+---------------------------------------
LuaJIT 2.0.0-beta1 580.4 | 427.4 1025.0 223.7 303.4 922.5
LuaJIT 1.1.5 96.7 | 72.0 166.1 37.1 91.8 116.5
Lua 5.1.4 16.5 | 11.0 27.4 7.6 16.9 19.5
可以看到對傅立葉變化,Lua的性能是C的 1.5%,經過JIT 2.0優化后則是 58%。
所以Lua的確不快。
有消息說網易的網絡游戲因為使用Lua,其單服務器負荷能力大大低于使用其他語言如LPC的游戲。
這只是傳言,未經證實。從下面這個網站看,Lua又似乎是所有腳本語言中最快的。
外鏈網址已屏蔽shootout.alioth.debian.org/u32/benchmark.php
BenchMark這事,似乎不是太靠譜。
(SciMark是最初Java定義的測試語言在計算密集代碼中性能如何的標準)
評論列表
路人2014-4-7 15:44:00
re: Lua JIT 2.0 發布了,一百五十倍的性能提升!
這主要是純計算方面性能的提高,?實際的lua里面有多少是跑純計算的
大部分的性能耗費更多在io上,
看介紹,?主要是使用匯編級的代碼替換及高級指令,?腳本語言本身需要跨平臺的偽碼變換在純計算方面性能損耗那當然是相當大,?lua已經算很好了(這本來就是腳本語言最弱的地方),?而改成本地代碼自然好很多,?但要綜合平均起來,?提高的幅度很有限
不過如果是補充了在純計算方面的弱勢,?那么lua真的可以笑傲江湖了
jzhang2014-4-7 15:44:00
在服務器端跑的Lua腳本還是以計算為主的
以LPC為例,大部分的LPC腳本都用于處理游戲策略,戰斗,統計,等等。真正的IO大部分都是MudOS用C提供的接口。所以LPC的代碼經常需要用延遲調用,把一次計算拆分成多次來進行。
發表評論
您還沒有登錄,請[登錄]或[注冊]
總結
以上是生活随笔為你收集整理的lua jit java jit_Lua JIT 2.0 发布了,一百五十倍的性能提升!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信怎么绑定消息服务器吗,fastwei
- 下一篇: linux cd -目录,linux c