假日無聊試算了一下
--
首先回應一下標題 Tracemonkey+JägerMonkey=SpiderMonkey
而SpiderMonkey則是Firefox的Javascriopt Engine (如下圖)
Tracemonkey 為Firefox 3.5開始採用的JIT (Just In Time compiler)
但有個缺點就是Trace 失敗時,會採用舊的方式執行Javascript (而這個方式很慢)
JägerMonkey 就是要改良這個問題的solution
它採用Method JIT + nitro assembler ( this one is from WebKit)
###############以上只是單純的介紹#####################
而今天會寫這篇主要是想大約估計一下 Firefox 4.0 Javascript 會有多快
參考資料:
ARE WE FAST YET ?
Starting JägerMonkey
Mozilla Wiki JaegerMonkey
以下這些純粹只是大略估計,有一些假設的前提不一定符合現實狀況
1.假設TraceMonkey 跟 JägerMonkey 為不相依互相獨立
2.所有Javascript 在TraceMonkey 成功時的速度 約為 W/O JIT的9倍快
3.所有Javascript 在JägerMonkey 約為 W/O JIT的3倍快(現在為2.66倍)
然後開始列國中的方程式吧! (以下代數單位皆為ms)
x=tracemonkey,y=JägerMonkey,z=target
o=original tracemonkey,w=W/O JIT
x+y=z
x+3y=o (x+2.66y=o)
9x+3y=w (9x+2.66y=w)
從最新資料代入數據(w=1850.3 ,o=694),解答z
x=144.5375 , y=206.56485 , z=351.10235
可以從這邊注意到TraceMonkey 只比 JägerMonkey 稍微快一點
(從參考資料內得知JägerMonkey還有30個左右的bugs會拖累速度 未來會繼續改進)
351.1024就是目前合體後的速度, 已經趕上apple Google的速度(但差別不大)
########################################################
假設最後JägerMonkey的速度進步到跟apple, google 的速度一樣快時
( JägerMonkey 就真的是W/O JIT的三倍快
...
統計資料 : 發表於 由 orange • 發表於 2010-07-24, 15:10 • 回覆 15 • 觀看 4072
--
首先回應一下標題 Tracemonkey+JägerMonkey=SpiderMonkey
而SpiderMonkey則是Firefox的Javascriopt Engine (如下圖)
Tracemonkey 為Firefox 3.5開始採用的JIT (Just In Time compiler)
但有個缺點就是Trace 失敗時,會採用舊的方式執行Javascript (而這個方式很慢)
JägerMonkey 就是要改良這個問題的solution
它採用Method JIT + nitro assembler ( this one is from WebKit)
###############以上只是單純的介紹#####################
而今天會寫這篇主要是想大約估計一下 Firefox 4.0 Javascript 會有多快
參考資料:
ARE WE FAST YET ?
Starting JägerMonkey
Mozilla Wiki JaegerMonkey
以下這些純粹只是大略估計,有一些假設的前提不一定符合現實狀況
1.假設TraceMonkey 跟 JägerMonkey 為不相依互相獨立
2.所有Javascript 在TraceMonkey 成功時的速度 約為 W/O JIT的9倍快
3.所有Javascript 在JägerMonkey 約為 W/O JIT的3倍快(現在為2.66倍)
然後開始列國中的方程式吧! (以下代數單位皆為ms)
x=tracemonkey,y=JägerMonkey,z=target
o=original tracemonkey,w=W/O JIT
x+y=z
x+3y=o (x+2.66y=o)
9x+3y=w (9x+2.66y=w)
從最新資料代入數據(w=1850.3 ,o=694),解答z
x=144.5375 , y=206.56485 , z=351.10235
可以從這邊注意到TraceMonkey 只比 JägerMonkey 稍微快一點
(從參考資料內得知JägerMonkey還有30個左右的bugs會拖累速度 未來會繼續改進)
351.1024就是目前合體後的速度, 已經趕上apple Google的速度(但差別不大)
########################################################
假設最後JägerMonkey的速度進步到跟apple, google 的速度一樣快時
( JägerMonkey 就真的是W/O JIT的三倍快
...
統計資料 : 發表於 由 orange • 發表於 2010-07-24, 15:10 • 回覆 15 • 觀看 4072