August 16, 2007

Firefox PGO (tete009)

最近試用了由tete這位日本人所優化編譯的Firefox,在新版本中tete使用了Visual C++ 2005中的PGO來編譯Firefox,就使用上的感受來說真的很棒喔! 在這裡介紹給大家認識認識

什麼是PGO? PGO(profile-guided optimizations)可以說是一個編譯的過程,最初是在Intel的C++和Fortran Compiler上獲得應用,稱為特性導引最佳化,簡單的說呢... 就是更好的使用CPU架構和指令集並優化程式的執行效率,而微軟最新的Visual Studio 2005也新增了這項功能,可以參考微軟開發知識庫對於PGO的說明,文中也提到PGO可以使程式執行效能提昇超過20%!

tete編譯的Firefox可以在以下網址中下載:
http://www1.plala.or.jp/tete009/en-US/software.html
下載"Visual C++ 2005 SP1 (PGO)"的版本,SSE與MMX則視你的CPU支援而定,一般新的CPU是都支援的,不用擔心太多,下載後解壓到固定位置就可以直接使用,不用安裝!

由於是使用Visual C++ 2005 SP1編譯的,所以必須安裝Visual C++ 2005 SP1 Redistributable Package.NET Framework 3.0 Redistributable Package(已包含2.0)才可以使用PGO優化的Firefox喔! 也建議使用在2000/XP以上的系統

在tete的網頁中也可以找到他自己所作的dll,private build裡面的是2006年9月的版本,想玩開一點的,可以使用最新的beta版dll,目前最新的是2007年5月,注意依自己CPU指令集的支援選擇! Intel系不支援3DNOW,SSE3也必須是較新的CPU才可以喔! 最新的beta dll有更好的效能和速度! 下載後解壓到Firefox的目錄覆蓋本來的就可以了

最後再下載tete網頁最下面的Module binder,同樣是解壓到Firefox的目錄,並執行它,讓它run一次就好了,它可以加速Firefox的啟動速度,之後只有在更新版本後才需要再run一次

以上,都完成之後,就可以開始體驗飆起來的Firefox了... 應該會有很明顯變快的感受,程式的反應和網頁渲染的速度都會快上許多,尤其是Javascript的執行效率改善最多,各位可以自己試試,但需要注意的就是這個版本可能會有一些相容性問題,比如某些Add-ons無法使用會錯誤之類的,這問題的確存在,但最常使用的IE Tab則是沒有問題的,對於不使用Add-ons或是很少使用的人是可以安心玩的

網路上還有另外一種版本也使用了PGO,綾川版Firefox在速度上比較保守,但以高穩定性著稱,同樣是解壓後就能使用,有興趣也可以試試,而目前知道的也只有這兩種版本有使用PGO優化編譯,當然有能力也可以試著自己編譯喔!

以上都只有英文的版本,不過可以套用官方版本的中文套件,這裡提供2.0.0.6的中文套件位置
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.6/win32/xpi/zh-TW.xpi
套用後再到about:config中把general.useragent.locale的值改為zh-TW就可以了

0 comments: