跳到主要內容

Firefox 18的離子猴,及社群加速版大PK

自從Firefox 4之後的大變革之後,從Firefox 5開始Mozilla開始不遺餘力地調校JavaScript性能和記憶體使用量。雖然因為長久發展下來不能馬上直追Google Chrome的性能,不過卻每每都有所成長。以往我都參考虫二兄的測試,做為選擇加速版本的資訊。不過,從17版之後他就沒有測試了。而不曉得是不是這次測試的硬體還是當年Core Duo年代的產品,做出來的效果是和預期的不太一樣!?


加速版會快上多少?
老實說我自己用慣加速版本,直覺是加速版一定會比較快,加上以往自編譯社群版本原本確實速度比官方版本快上不少,至少14個月前測試Firefox 8確實是如此,但現在呢?

同時這次不再只使用Peacekeeper進行測試。由於Firefox 18導入的IonMonkey強調的是增進JavaScript的性能,我們同時測試了SunSpider 0.91/V8 Suite v7/Kraken 1.1三大JavaScript網站進行測試,分別是Apple/Google/Mozilla三大瀏覽器龍頭廠商所製作的測試網站。這次的測試相當地著重JavaScript的項目。

測試環境是2008年出廠的Aspire 5920G。搭載Core 2 Duo T5450和2GB DDR2 RAM。作業系統是64位元Windows 7企業版SP1,防毒軟體則是Avast免費版本,因此,有半數以上的版本會因為Avast的資料庫裡面認為其使用數不多,在第一次執行時會收到流行度較低的警示,後來確認後再執行就不受影響。

另外,同門師兄SeaMonkey 2.15也同樣地導入IonMonkey。這次也一併納入進行比較。


受測社群版資訊

Firefox (除官方版本外以字母順排序,下SeaMonkey同)
SeaMonkey

Firefox大軍各有千秋
我們發現,三家JavaScript網站測試出來的結果不太一樣。Mozilla的新聞稿自然是拿自家的KarKen進行測試的結果。最早出現的SunSpider BenchMark和其他兩個的差異性最大,往往Firefox 17和使用Gecko 15核心引擎的Pale Moon 15.3.2反而比18還要快,而且官方版本也到了前段班,把不少社群版本甩在後面。

單位ms,越低性能越好

(分數越高越好)

單位ms,越低性能越好

 (分數越高性能越好)

值得我們留意的是代表整體效能的分數,從17到18普遍反而不昇反降。兩個版本才編譯一次的PCX沒有編Firefox 18,不然個人還蠻期待會有什麼樣的成果。以Firefox 18來說,Lawliet拿下了1124,成為其中唯一17到18有進步、並且維持在1100以上的社群版。而得分最高的是PCX Firefox 17.0.1。


SeaMonkey有換心有進步
SeaMonkey這次我找回當年讓我驚豔的WitchFive編譯的2.7.2版。SeaMonkey 2.7.x採用等同於Firefox 10的Gecko 10引擎。從Firefox 10到18已有一年多餘,期間JavaScript JIT編譯器已經演進到今日的IonMonkey。而目前唯一有跟進到使用IonMonkey的SeaMonkey 2.15只有Htguard。我們來看看結果。

單位ms,越低性能越好

 (分數越高越好)

單位ms,越低性能越好

 (分數越高越好)

以JavaScript的性能來說,WitchFive的SeaMonkey輸得合情合理,不過仔細看竟然仍然在KarKen跑贏Firefox 17,SunSpider更是打趴所有對手。更不要說PeaceKeeper的分數更是在Firefox社群版本的高分區塊,其餘的SeaMonkey普遍在800~840區間,與官方版Firefox 18得到951分有一段差距。WitchFive的社群版是唯一沒有動用處理器加速,偏重倚靠PGO/PGU的調校者。前述各Firefox版本都有採用SSE2的處理器加速設定,整體效果也只能說是並駕齊驅。有沒有願意試試看的呢?


有換編譯器有差?
這是我長久以來心中的疑問。從テテ一直沒有換過的Visual C++ 2005 (VC8),到之前的Visual C++2010(VC10),現在多數的編譯者已經換到Visual C++ 2012(VC11)。那麼,只是編譯器的差異會有多少影響呢?同樣由WitchFive編譯無加速指令、無PGO最佳化,僅有編譯器上的做了測試結果如下:


這也難怪多數編譯者都希望換用VC11做為編譯工具。目前Htguard、PCX、WitchFive和官方版本採用VC10,テテ使用VC8,綾川、Moon Child(Pale Moon)則是使用VC11。如果有自行編譯的意願上述測試可以提供參考,不過假若要進行PGO最佳化的話,一定要用完整版本的Visual C++,Express版是不支援的。

Update: 如果在PGO最佳化的設定下,由VC11編譯的Firefox反而會比VC10編譯出來的慢15%~20%! 所以如果沒有心力搞PGO的部分的話,也許可以試試VC11進行編譯;反之則應該考慮採用VC10。謝謝Lawliet的指正。

再補充一點,Lawlietfox 17採用VC11編譯,而18則是以VC10編譯。這或許是17版分數不如我預期的真正因素。


主流大亂鬥
這次找來Windows主流的幾款瀏覽器,分別是即將出現正式版本的IE10 Release Preview for Windows 7、Opera 12.12、Google Chrome 23.0.1271.97,以及停止支援的Safari for Windows最後一版5.1.7。好啦,最後一項是我私心加上去的,因為接下來要在Apple device才有Safari能夠使用了,畢竟有各項考量和整合的問題倒是真的。

單位ms,越低性能越好

(分數越高越好)

單位ms,越低性能越好

(分數越高越好)

IE10在SunSpider得到第一,Chrome和Firefox 18分別在自家的V8和Karken獲勝。在PeaceKeeper上除Chrome和Opera分數高出許多之外,Firefox 18和IE10差不多。Safari 5.1.7已早是10個月前的瀏覽器了,輸乃意料之事。不過Opera在JavaScript各項比試上和Safari的結果一同掉車尾,看來最需要強化JavaScript性能的,恐怕現在變成Opera的當務之急。

Firefox 18已經不是當年那個性能吊車尾的傢伙了。接著,就看什麼時候會出現Firefox for iOS了吧? 希望iOS裝置上也能有Firefox的一天。


結論
Gecko 18引擎某種程度上確實是對新的JavaScript項目進行了調校。這也是為什麼在SunSpider上還是輸給未導入IonMonkey的Gecko 17引擎之Firefox 17和SeaMonkey 2.14,而在Karken和V8上則是勝出。

用處理器的指令加速的時代已經過去了。雖然普遍都對SSE2加速指令的處理器進行最佳化,但黑馬WitchFive當年的SeaMonkey 2.7.2今日在新版的PeaceKeeper仍舊是亮眼,當時可是樂勝各家的Firefox 10呢! PGO能調校的空間還是有的,或許可以朝這個方向進行調校看看?


Our Choice Lawlietfox 18.0
就Firefox 17社群版最佳的選擇是PCX編譯版,不過考量到奇數版本才編譯的政策,Lawlietfox 18性能相近,也是各18.0社群版性能沒有官方設定的緣故而性能下降。加上更新頻率高,ESR也有支援,同時也編譯32位元和64位元,選擇性最多。這都是我推薦的原因。

而テテPrivate build的調校則是PCX和Lawlietfox參考的源頭,PCX版編譯者也說他認為如果是要求穩定,應該採用テテ的社群版本。而且唯一由VC8編譯,應可在Windows 2000上執行。如果其他版本使用上出現奇怪的問題,或是要使用內建的可攜功能,那麼テテPrivate build也值得選用。

WitchFive的SeaMonkey 2.7.2則是SeaMonkey加速版的不二選擇。而64位元只有Htguard一個選擇。就我自己一度長期使用Thunderbird Portable的理解,我會建議以SeaMonkey Portable取代,這樣還可以免除連結要設定開啟的瀏覽器的問題,只是SeaMonkey 2.7尚未內建SeaMonkey Sync,無法與Firefox共通瀏覽器設定就是。

這個網誌中的熱門文章

WinSXS的官方解! 實測能奉還多少空間出來?

話說最近幫老家的Windows 7排除問題發現在去年年底微軟釋出一個針對WinSXS會日漸肥大的清理修正檔案。Windows 7吃下後就可以用「磁碟清理」去減少所占用的空間。據微軟的說法,放在WinSXS資料夾裡的就是系統更新元件時所需要的檔案。在這個磁碟清理程式的外掛釋出之前,是只有清除Service Pack檔案的官方解

據微軟的說法,Windows 7的這個套件的功能在Windows 8之後已經內建。而事隔一年之後(Windows 8在2012年10月29日正式發佈)才推出這個給Windows 7用,感覺上有一點遲到,不過至少是出現了。可惜的是還在使用Vista的使用者並沒有這個福利,沒辦法,這完全得看微軟的心情…畢竟除了不受歡迎之外,目前Vista也已經過了主流支援快兩年,正常來說微軟不會提供對應的功能性加強產品。


我們很好奇這個套件能讓系統刪掉多少不必要的東西。於是用虛擬機安裝乾淨的系統來測試,並且與其他新舊Windows系統比較。為了講求儘可能的公平,規劃了下列流程:

試騎Gogoro 2:終於與汽油125同樣親民,卻給你更多

說到電動機車,在Gogoro之前,我最有印象的是中華推出的e-moving,但這種輕型電動車車款,我個人觀察後認為,還沒有到能取代一般汽油機車的程度,頂多是方便近距離移動,減少走路不便的工具,並無法成為我主要的交通工具。

不過,第一代Gogoro發表時雖然讓人驚艷,但當時我已經有了小小孩,一家三口要坐顯然不太夠用,也因此,即使這款車不少人爭相分享騎乘體驗,我們並沒有馬上去試騎,更別說是列入口袋名單了。當然另外一個原因是,我們才在Gogoro上市的三個月前,買了音叉牌當時的剛推出沒多久的中低階款125,號稱是指針儀表板GTR的Ray,也就是圖中右邊的這台車。


Windows 10試用:中文輸入法跟上微軟的車尾燈了嗎?

我們提到Windows 10有很多實用的新功能,也讓Windows完全回歸以桌面為主軸的作業模式。不過基本上除了Windows本身要好用之外,Windows 8中文使用者最沉重的問題莫過於輸入法這件事。這個問題,Windows 10也繼承了Windows 8的架構,完全以從XP開始支援的TSF(Text Service Framwork)架構輸入法為主,而傳統的輸入法需要大幅度調整才能轉換成這種架構。

其實新架構和以往架構對使用者最大的差別,一是新的才能支援新的Metro app,二是切換的某些重要快速鍵大不相同。其實還有第三個,那就是因應對觸控操作加強,輸入法除了所有程式統一一種設定,還會自行判斷在那個輸入框下該只能輸入英數字,還是直接提供中文輸入模式。這些種種的不同,到Windows 10上會不會繼續成為大家裹足不前的因素呢?