Re: [-Fx-] Firefox 4,我們可以期待些什麼?

看板Browsers作者時間14年前 (2010/06/30 04:40), 編輯推噓21(21011)
留言32則, 23人參與, 最新討論串2/3 (看更多)
嗯... 來賣弄一下最近研究的心得吧XD(誤) !警告,本篇內含淺量技術內容! 首先,現在的引擎都使用上JIT了(just-in-time即時編譯,見http://goo.gl/uH0q) 但其中,WebKit核心的Safari/Chrome所運用的,是叫做「method JIT」的方法, 而Firefox則是使用自己研究出來的「tracing JIT」。(好樣的!) 這兩種處理方法有什麼不同呢? Firefox現在所使用的JavaScript引擎叫做「TraceMonkey」, 是最初的「SpiderMonkey」的改進版,(Safari的則是叫「Nitro」,Chrome是「V8」) 它對比於舊版最大的進步,就是採用了所謂的「tracing」技法! Tracing的作用,大致上就是會沿著JavaScript碼去看,當遇到迴圈等複雜架構時, 會將它拆開來處理,再牽涉到阿哩阿扎一些東西以後,整體效能就提昇了! 另一方面,method JIT則是把那個函式(function,或"method")直接整堆送進去, 所以method的速度上,當然沒有tracing快。 等等... 你是說沒有tracing快嗎?= =a 是的!Firefox的TraceMonkey其實是個很強大的玩意吶! 那... 為什麼目前為止我們所看到的,卻是Chrome/Safari把Firefox打趴呢? 原因很簡單,因為,不是每句code都是可以trace的...囧 遇到可以trace的code的時候,tracing絕對打趴懶人法method, 但是如果trace到最後卡住了(遞迴函式,或有夠骯髒的複雜code,或根本不適用等等), 那下場就非‧常‧難‧看了。 Tracing失敗以後,Firefox處理那段code的方法,就變成把它直接丟到老扣扣的直譯器去 結果就是效能會衰弱到2007年左右的瀏覽器的程度(FF3.5、Safari4、Chrome出來之前... 所以少部分的效能增加+大部分的效能大減=輸了!(我不是在說世足賭盤... = =) 解法?火狐四‧〇為您隆重呈現,新一代「JägerMonkey」!(名字看起來就很威...@@) 簡單來說,JägerMonkey的目標,就是先提昇Firefox處理一般函式的method速度, 理想的話,光這點就有潛力可以大幅接近Safari/Chrome, 還沒完咧!趕上以後再以祖傳tracing大法加持!一舉攻下JavaScript寶座吼吼! 欸... 聽起來好像不太可能嗎?那讓我帶大家追一下現在的進度吧~ 首先,請大家造訪一下這個網頁:http://www.arewefastyet.com/ 哇嗚,眼花撩亂了?不過一開始會注意到的,一定是那條直直往下衝的黑線吧。 但是要先請大家看一下淺藍色的,名叫「moz method JIT」的線, 沒錯,這就是Firefox舊版的method引擎,當下面還滿快的橘色線tracing失效時, 火狐就瞬間掉回阿公級速度,正負加起來當然不夠快!這怎麼行呢? 所以團隊現在呢,就是在對method做最佳化,目前採用了一個叫「FatValue」的方法, 也就是那條「moz fv method JIT」黑線,從圖中可以看到成果相當令人驚嘆! 從採用開始到現在短短兩個禮拜間,它已經一路下殺到近逼tracing JIT的速度了! 等愈來愈多的最佳化加入以後,再加上tracing及其他的改進,待正式版推出以後, 「So fx4 has TM+JM-w/fatvals-and-maybe-some-static-analysis magic thrown in.」 這麼多改進的融合,說不定火狐真的又可以,再一次的穩坐瀏覽器龍頭寶座~(灑花) 還是覺得不太可能嗎? 沒關係!我也還有點懷疑...XDD 不過看著趨勢線每天往下掉, 還真是有種莫名的快感啊 = = 說實在的,除了IE真的是已經被我私心唾棄已久了以外,其他各家瀏覽器的處理速度上, 一般使用其實都已經夠快了,所以JavaScript引擎有一大部分是跟測試跑出來的分數, 到底好不好看有關... (它就是會影響市場,沒辦法) 然而除了JavaScript加速以外,整體執行速度也一定是會提昇的, 再加上許多許多未來的新功能及增強,我相信Firefox 4.0一定是值得等待的 >///<! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.245.202

06/30 05:03, , 1F
我猜明年才會出正式板(逃)
06/30 05:03, 1F
※ 編輯: SicInfit 來自: 140.112.245.202 (06/30 06:20)

06/30 07:05, , 2F
有支援xp嗎?
06/30 07:05, 2F

06/30 07:46, , 3F
Fx 4應該有支援XP,但限SP3以上,硬體加速可能沒有
06/30 07:46, 3F

06/30 07:50, , 4F
那 JavaScript 的速度會影響到 UI 跟擴展的效率嗎?
06/30 07:50, 4F

06/30 08:54, , 5F
說真的,我覺得網路影響比較大...網頁寫得差的也不是
06/30 08:54, 5F

06/30 08:54, , 6F
到處都有吧
06/30 08:54, 6F

06/30 09:51, , 7F
我最近chrome跟FF都交叉使用 chrome開起來感覺是快很多
06/30 09:51, 7F

06/30 09:52, , 8F
可是 切換taq的時候 卻要等好一陣子 才會秀出網頁 很困擾
06/30 09:52, 8F

06/30 10:45, , 9F
GC的分頁號稱不會互相影響,但其實還是會...
06/30 10:45, 9F

06/30 11:45, , 10F
那應該是 process 跟 process 之間的影響吧
06/30 11:45, 10F

06/30 11:53, , 11F
推一個XD
06/30 11:53, 11F

06/30 12:40, , 12F
好期待呀> <
06/30 12:40, 12F

06/30 12:59, , 13F
是不是弄反了..Trace碰上遞迴函式速度會變慢吧?
06/30 12:59, 13F

06/30 13:22, , 14F
Fatval只是Method JIT正在施工中的Code部分
06/30 13:22, 14F

06/30 13:24, , 15F
修正點應該是過大數值的Tracing緩慢問題(Bug 571623)
06/30 13:24, 15F

06/30 13:24, , 16F
改完之後應該會匯回Jaegarmonkey本線
06/30 13:24, 16F

06/30 13:45, , 17F
我喜歡新UI~,比起現在介面好太多了
06/30 13:45, 17F

06/30 13:54, , 18F
GC的分頁還是會互相影響,常常發生一個當,整體停擺...
06/30 13:54, 18F

06/30 13:55, , 19F
想從工作管理員關掉當掉分頁,也不知道該關掉哪一個...
06/30 13:55, 19F

06/30 15:45, , 20F
精彩, 原來是在閉關修煉中啊,準備放大絕...
06/30 15:45, 20F

06/30 16:54, , 21F
顯卡要賽山豬,瀏覽器也要賽javascript ?
06/30 16:54, 21F

06/30 17:21, , 22F
加油,期待firefox再進化~
06/30 17:21, 22F

06/30 17:51, , 23F
FX4 D2D硬體加速JS升級 不錯耶!超期待!
06/30 17:51, 23F

06/30 18:25, , 24F
龍頭不是IE穩坐嗎...( ′-`)y-~
06/30 18:25, 24F

06/30 18:35, , 25F
Opera表示:
06/30 18:35, 25F

06/30 18:52, , 26F
Opera又被鬼隱 哭哭
06/30 18:52, 26F

06/30 22:22, , 27F
私心期待火狐市佔低一點...防毒防木馬阿XD
06/30 22:22, 27F

07/01 16:13, , 28F
07/01 16:13, 28F

07/01 19:48, , 29F
arewefastyet上的就method已經被method w/fv取代囉
07/01 19:48, 29F

07/01 19:49, , 30F
07/01 19:49, 30F

07/02 00:51, , 31F
那資源到底會吃多少
07/02 00:51, 31F

07/02 01:34, , 32F
FF已經是資源吃最少的了吧(Opera不知...)
07/02 01:34, 32F
文章代碼(AID): #1CAbfHKl (Browsers)
文章代碼(AID): #1CAbfHKl (Browsers)