2008-09-04

Firefox 3.1 真的快好利害!



昨天才在感嘆Google Chrome的高速,超越FireFox 3至少一倍的JavaScript Render性能
想不到這個感覺在我的身上僅維持短短不到一天就被打破了!
打破Google Chrome的就是同樣也在Beta當中的Firefox 3.1!

Firefox 3.1相比3.0主要就是使用了Gecko 1.9.1排版引擎(3.0使用Gecko 1.9)
以及功能加強的SpiderMonkey JavaScript Engine,新的引擎整合了TraceMonkey追蹤技術
在理論上可以比傳統方式提高5~40倍的執行速度
Mozilla Develop Team表示,他們的最終目標是希望JS Render性能將與C語言一樣迅速!

在以前瀏覽器JS Render的經過是將代碼逐行編譯執行,這種方式會消耗很多時間
尤其時當代碼裡含有大量迴圈需求的時候會更為明顯!

而TraceMonkey引擎在接收JS Code後,並不會逐步編譯,它會先檢查然並找出
需要大量運算需求的迴圈,將迴圈直接編譯成可執行檔,透過追蹤技術
TraceMonkey可以不用完全編譯所有的JS Code,並確保程式的可執行能力
也由於是既時編譯,所以在操作上可以比傳統方式節省了很多時間!

我實際用FireFox 3.1跑SunSpider測試JavaScript性能
Firefox 3.1成績為1087.6ms贏過了Google Chrome的1172ms將進快100ms
看起來贏不多,但Mozilla Develop Team說過SunSpider已經過時了!
最重要的一點是TraceMonkey還尚未完成,未來還會繼續提高JS Render性能!

不過目前TraceMonkey追蹤技術預設為關閉,如果要開啟,必須先在網址列輸入about:config


尋找javascript.options.jit.content這項,並設定為True


重新啟動後再看看速度是不是變快了!
最後告訴昨天把Google Chrome換成預設瀏覽器的朋友
回來FireFox的懷抱吧,同樣都是測試版,要用就用最快最速的瀏覽器!XD

2 則留言:

  1. 請問3.0.2版有類似功能的參數嗎?
    因為找不到相同的字串..

    回覆刪除
  2. 這個目前只有3.1才能開啟

    回覆刪除