MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2020-06-01, 20:39

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 16 篇文章 ]  前往頁數 12  下一頁
發表人 內容
文章發表於 : 2010-07-24, 15:10 
離線
頭像

註冊時間: 2003-07-17, 22:16
文章: 939
假日無聊試算了一下
--
首先回應一下標題 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的三倍快)
x=144.5375 , y=183.1542 , z=327.691666
用這個來畫未來合體之後的效能參考線看看
圖檔
最下面綠色線就是TraceMonkey + JägerMonkey最為理想的速度

結論:TraceMonkey 沒有想像中的厲害,僅僅比 apple, Google快 23%
(原本以為會是好幾倍)
由於spidermonkey裡面JägerMonkey消耗的時間就佔據了一半以上,更是削弱了TraceMonkey的23%優勢
整體算下來spidermonkey只比 apple, Google快 10%
未來要更強的話大概也只有增加TraceMonkey trace的成功率,或者將不容易trace成功的轉向JägerMonkey


附加檔案:
spidermonkey.png [11.59 KiB]
被下載 1982 次
Slide11.png [20.26 KiB]
被下載 2080 次
回頂端
Mozilla/5.0 (Windows; Windows NT 5.1; en-US; rv:2.0b2pre) Gecko/20100715 Firefox/3.7a6pre (ayakawa PGU)
 個人資料  
引用回覆  
文章發表於 : 2010-07-24, 21:30 
離線
[MozTW 版主群]
頭像

註冊時間: 2008-10-10, 11:27
文章: 982
我的想法是,JagerMonkey會不會是Trace版的v8...

_________________
圖檔


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7
 個人資料  
引用回覆  
文章發表於 : 2010-07-25, 02:03 
離線
頭像

註冊時間: 2003-07-17, 22:16
文章: 939
個人從架構圖覺得JägerMonkey應該是扮演V8的腳色
(tracemonkey trace失敗後丟去處理的地方)
嚴格講合體後的SpiderMonkey比較像 Trace版的V8

另外我用最後那個假設 嘗試逆推回去 trace的成功率 約50%
覺得之前把trace 失敗所浪費的時間 算在tracemonkey所消耗時間有點不太合理
也就是說TraceMonkey的優勢有可能比23%更明顯
但由於有50% trace失敗浪費的時間 才將優勢降到23%

未來有可能把容易trace失敗的部分 直接跳過trace的步驟丟到JägerMonkey


回頂端
Mozilla/5.0 (Windows; Windows NT 5.1; en-US; rv:2.0b2pre) Gecko/20100715 Firefox/3.7a6pre (ayakawa PGU)
 個人資料  
引用回覆  
文章發表於 : 2010-07-25, 02:58 
離線

註冊時間: 2008-09-12, 02:31
文章: 66
先看個影片吧 XD
http://www.youtube.com/watch?v=GnYs2Q2pg1M

我個人的想法是:Tracing JIT 和 Method JIT 是兩種完全不同的 JIT 技術,所以到時候在融合的時候會不會發生問題其實非常難講。搞不好 Method JIT 會快到最後把 Tracing 完全幹掉,這樣 Tracemonkey 就掰掰了 XD

我認為之所以現在要做兩隻猴子的原因是:Tracing JIT 在 Trace 成功的情況下還是超級快。


回頂端
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b3pre) Gecko/20100724 Minefield/4.0b3pre
 個人資料  
引用回覆  
文章發表於 : 2010-07-25, 10:22 
離線
頭像

註冊時間: 2003-07-17, 22:16
文章: 939
http://people.mozilla.org/~dmandelin/Su ... demos.html
螞蟻的測試蠻好,充分表達出TraceMonkey的弱點
trace failed的東西效能馬上降下來(drop food 回家模式,red ants 攻擊模式)
其中 red ants模式又比較特別一點(全部發動,trace all failed?)

JägerMonkey目前還有效能上的bug
直接來跟TraceMonkey比 black ants(搜索模式)速度不太公平
用JägerMonkey終極目標Google V8來跟TraceMonkey比black ants(搜索模式)速度
Google V8的速度還是比Tracemonkey快(就我的電腦而言)
--
如果TraceMonkey,JägerMonkey 差異性不大 或者JägerMonkey更好
TraceMonkey 大概真的會Say Goodbye (兩套JIT系統增加複雜度 卻沒有相對應的效能)


回頂端
Mozilla/5.0 (Windows; Windows NT 5.1; en-US; rv:2.0b2pre) Gecko/20100715 Firefox/3.7a6pre (ayakawa PGU)
 個人資料  
引用回覆  
文章發表於 : 2010-08-06, 22:16 
離線
[MozTW 版主群]
頭像

註冊時間: 2008-10-10, 11:27
文章: 982
合體好像出現了,但好像沒有預期的快?

http://arewefastyet.com/?machine=6

_________________
圖檔


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
 個人資料  
引用回覆  
文章發表於 : 2010-08-07, 13:37 
離線
頭像

註冊時間: 2003-07-17, 22:16
文章: 939
從螞蟻測試上可以看到
JaegerMonkey 有時候有作用有時候沒有 還在努力整合吧
(beta2就這樣 beta3還是沒有很改善很多 看來不是很好整合)

不知道趕不趕得上FX 4.0


回頂端
Mozilla/5.0 (X11; Linux x86_64; rv:2.0b3) Gecko/20100805 Firefox/4.0b3
 個人資料  
引用回覆  
文章發表於 : 2010-08-09, 12:40 
離線
[MozTW 版主群]
頭像

註冊時間: 2008-10-10, 11:27
文章: 982
orange 寫:
http://people.mozilla.org/~dmandelin/Summit2010/demos.html
螞蟻的測試蠻好,充分表達出TraceMonkey的弱點
trace failed的東西效能馬上降下來(drop food 回家模式,red ants 攻擊模式)
其中 red ants模式又比較特別一點(全部發動,trace all failed?)

JägerMonkey目前還有效能上的bug
直接來跟TraceMonkey比 black ants(搜索模式)速度不太公平
用JägerMonkey終極目標Google V8來跟TraceMonkey比black ants(搜索模式)速度
Google V8的速度還是比Tracemonkey快(就我的電腦而言)
--
如果TraceMonkey,JägerMonkey 差異性不大 或者JägerMonkey更好
TraceMonkey 大概真的會Say Goodbye (兩套JIT系統增加複雜度 卻沒有相對應的效能)

如果真的Say Goodbye,
到頭來感覺多此一舉,畢竟令一套JIT是學來的半成品,
那不如當初用真的V8或JavaScriptCore拿來用 :(

_________________
圖檔


回頂端
Mozilla/5.0 (Windows NT 5.1; rv:2.0b4pre) Gecko/20100806 Minefield/4.0b4pre
 個人資料  
引用回覆  
文章發表於 : 2010-09-01, 07:07 
離線

註冊時間: 2005-02-16, 11:07
文章: 575
WOW~ 今天 moz JM+TM 雙猴合併後 紫色閃電猴 出現大跳水!!
http://arewefastyet.com/
:lol: :lol: :lol: :lol: :lol:
--
噹噹噹! 革命尚未成功,同志仍須努力!


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9
 個人資料  
引用回覆  
文章發表於 : 2010-09-01, 21:00 
離線

註冊時間: 2005-01-08, 09:02
文章: 71
合併之後不就已經進入最後階段了嗎...
效能上還輸V8一倍....有希望看到超越V8嗎= =?


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
 個人資料  
引用回覆  
文章發表於 : 2010-10-13, 10:41 
離線

註冊時間: 2010-02-16, 14:02
文章: 26
https://bug580468.bugzilla.mozilla.org/attachment.cgi?id=482609
Bug 580468中的"updated performance results"檔案
-mjp是JM+TM嗎????
真的超越V8了嗎???? (Sunspider中)


回頂端
Mozilla/5.0 (Windows NT 5.1; rv:2.0b6) Gecko/20100101 Firefox/4.0b6
 個人資料  
引用回覆  
文章發表於 : 2010-10-13, 14:18 
離線

註冊時間: 2009-04-16, 21:24
文章: 7
ricktu 寫:
https://bug580468.bugzilla.mozilla.org/attachment.cgi?id=482609
Bug 580468中的"updated performance results"檔案
-mjp是JM+TM嗎????
真的超越V8了嗎???? (Sunspider中)


-m是JM,-j是TM,
-mjp是JM+TM+profiling patch


回頂端
Mozilla/5.0 (Windows NT 5.1; rv:2.0b8pre) Gecko/20101012 Firefox/4.0b8pre
 個人資料  
引用回覆  
文章發表於 : 2010-10-15, 00:31 
離線
頭像

註冊時間: 2003-07-17, 22:16
文章: 939
JägerMonkey 速度跟apple nitro重疊了 (Are We Fast Yet? "NO"字串也被拿掉了)
跟第一篇最後面預測會重疊蠻像的(會超過nitro嗎?)
只不過沒想到tracemonkey 隨著JM改進也得到一些進展

目前TM約是第一篇的1/4時間(4倍快),JM約是1/2時間(2倍快)
TM+JM 的時間應該比第一篇最後預測可以多縮減個100ms (到200+ ms)
差距被拉出來這樣TM也才有它存在的意義
--
雖然目前X86 的TM+JM還比純JM慢...


回頂端
Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/7.0.543.0 Safari/534.10
 個人資料  
引用回覆  
文章發表於 : 2011-02-03, 15:35 
離線
頭像

註冊時間: 2003-07-17, 22:16
文章: 939
圖檔
初步預測目標已達成
之前預測JägerMonkey跟V8差不多速度時
TM+JM會是327 ms左右(略快於V8 但差別不大)
現在JM比V8快,TM+JM 有再稍微拉出一點差距出來(315ms)
--
沒想到用找的資訊去預估 準確度還不錯


附加檔案:
screenshot1.png [10.85 KiB]
被下載 5099 次
回頂端
Mozilla/5.0 (Windows NT 5.1; rv:2.0b10pre) Gecko/20110125 Firefox/4.0b10pre
 個人資料  
引用回覆  
文章發表於 : 2011-02-03, 16:30 
離線
[MozTW 版主群]
頭像

註冊時間: 2008-10-10, 11:27
文章: 982
orange 寫:
圖檔
初步預測目標已達成
之前預測JägerMonkey跟V8差不多速度時
TM+JM會是327 ms左右(略快於V8 但差別不大)
現在JM比V8快,TM+JM 有再稍微拉出一點差距出來(315ms)
--
沒想到用找的資訊去預估 準確度還不錯

不過為什麼我還是覺得Chrome的翻頁速度比Firefox快?

還是各家瀏覽器的性能有各有所長領域?

_________________
圖檔


回頂端
Mozilla/5.0 (Windows NT 5.1; rv:2.0b10) Gecko/20100101 Firefox/4.0b10
 個人資料  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 16 篇文章 ]  前往頁數 12  下一頁

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群