最近各個網頁瀏覽器(Browser)的發展除了標準的遵循設計、瀏覽效率的最佳化、擴充套件的陣容增加, 在個人電腦 以外的平台,像是手機、小型可攜式裝置、平板電腦陸續都有瀏覽器新版本或新產品推出。
個人電腦平台上的瀏覽器還是各平台瀏覽器的 根源環境,我們再來比較一下近期包括Firefox新系列、Google Chrome、Opera新版等幾個新一代瀏覽器,在Linux平台上的JavaScript效率與瀏覽效率。同時,比較一下,標準版Firefox在Linux與Windows平台上跑,那邊比較快。(雖然我很早就知道了,不過在Linux平台,特別編譯過的版本還是有差)
Shorter is better. yblog.org
測試結果簡述
我用的平台是Ubuntu 9.10 32位元的桌面系統,雙核心處理器,IE 8瀏覽器是在同一台測試,用Windows XP系統。
在使用JavaScript程式碼較重的網站如Facebook、 Gmail、 GoogleDocs等網站,瀏覽器的JS效能會影響瀏覽效率與系統反應時間的快慢,SunSpider JS測試頁面是著重這方面的測試。
這次測試中最快的是Google Chrome系列瀏覽器, 我用的測試版本是5.0、4.0系列的兩個版本,測試結果呈現的成績快到只有373ms。KHTML引擎(Webkit屬於 KHTML的衍生物,Google另外開發的JS引擎自稱為V8,可以大幅加快JS效率)真的就是這麼快嗎?(Apple 的Safari採用一樣的瀏覽器引擎,改良為Webkit,也很快)
來看看和Chrome同樣是使用Webkit瀏覽引擎的Arora,它是一個輕量級瀏覽器,測試成績和Google自己開發的程式碼,又最佳化過的Chrome有一段差距,不過還是比Firefox 3.5.X系列瀏覽器要快,輸給3.6系列的版本。
而社群關注的Firefox新版瀏覽器,採用Gecko瀏覽引擎,包括Firefox 3.7alpha1、Firefox 3.6,速度都有進步,除了這個JS測試,在其他的測試中也已經拉近和Chrome的差距,也比Arora快。
一般使用Firefox瀏覽器網友最常用的正式版本已經進步到3.6正式版了,我是拿3.6.2 pre來測試,並且和針對不同平台處理器最佳化過Firefox程式碼的Swiftfox 3.6來一起比較。兩個版本的Swiftfox在Js測試成績上都略勝Mozilla在Linux發行版上的套件一籌,但在實際環境中瀏覽的經驗,讓我感覺雙方的差距明顯,瀏覽的反應時間比沒有最佳化過的Firefox 3.5、3.6都要快不少。
Opera新推出的10.10瀏覽器功能雖然多元,採用的瀏覽引擎為Presto,不過在我的機器上跑JS的測試成績很慢,慢到和IE8差不多,鑑於我不太喜歡Opera的使用者介面,新舊版皆然,即使它也支援很多擴充套件,我一直以來也不在Linux平台上推薦這個瀏覽器。不過,Opera 10.5測試版的效率非常好,不但比10.10要快上不少,比起Firefox系列更是快上許多,本文後面會再討論一下這個好的改進。
最後一名是採用 Trident瀏覽引擎的IE8,這個永遠最後一名的系列瀏覽器除了最近很紅的 IE被駭資安問題外,看網頁卡卡的,雖然有擴充套件和一些微軟自以為很炫的功能,不過我因為沒在用Windows,這個瀏覽器也實在用不到,頂多是用自然人憑證才打開Windows來用。
瀏覽器平台比較
Opera的測試成績大進步,給了我們一個啟示,儘管SunSpider一向是Webkit/KHTML引擎的瀏覽器(Chrome、 Safari)測試成績較佳,但Opera從原本慢到和IE8差不多,在10.5改善JavaScript引擎後,大幅提昇速度到接近瀏覽器速度王者Chrome的程度,意味著要在JS測試中有好的表現,努力是有機會的。
可是,Firefox系列卻不是這麼回事,越新的版本效能越好,但沒有大幅的改進,都是小幅度的,固然也受到其先天架構限制的 影響,TraceMonkey JavaScript編譯引擎雖然一直在改善,Firefox 3.6已經比3.5系列要快上近2成,但和Chrome全系列、Opera 10.5仍差了一段。除非在之後的版本有顯著的改善,不然Firefox 3.7推出後,應該繼續就是瀏覽器效能的老三。
另外,在Linux平台上跑Firefox,效能比在 Windows平台上要慢一些,這是受限於顯示驅動,以及套件的影響。不過,Chrome卻不是這麼回事,它在Linux平台與 Windows平台上的表現是一樣快的,在我的電腦上跑,同樣版本號碼的Chrome 5.x dev,Linux平台的還比Windows平台還要快。
IE8絕對比IE6、IE7好,但它畢竟還是微軟的,改善程度有限,只要能用,沒有太嚴重安全性問題就萬幸了。
近期瀏覽器感想
我目前的工作與居家環境都使用Linux平台,必須用IE、Safari以外的瀏覽器,這使得我的瀏覽器選擇受限,但還是有幾款可以挑。
Google Chrome的效率非常好,在我需要的擴充套件還沒有推出支援Chrome以前,我還不打算轉移我的主要瀏覽器為Chrome,考量的就是擴充套件和使用習慣的問題。
目前自己常用的幾個套件已經有轉移到Google Chrome上了,使用玉山銀行網路ATM的擴充套件也已經有,這讓我們在Linux平台上轉帳很方便。更重要的是Chrome對於 HTML5的支援,套件的數量增加,都顯示出它的潛力十足,日前已經站穩瀏覽器市占率第三大(第一和第二分別是IE、Firefox 系列)。
倘若Firefox瀏覽器的效率能夠加點油,不要說趕上Chrome,至少要做到接近Chrom達7、8 成的水準就好,我可能就會放棄轉移到Chrome的念頭,可惜它現在的速度還是比Chrome慢上一截。目前看起來Firefox 3.6有改善,3.7一樣也有改善,但老實說等它們正式推出來後,Chrome不知道又變得多快了?但我認為兩個系列瀏覽器的效能差 距會逐步拉近。
安全性問題方面,我還是比較挺Firefox,除了擴充套件還是比較多,社群修正bug的速度也快,而且已經累積相當多的經驗了,越做越好,缺點就是系統效率問題,需要維護、減肥。
越複雜的網頁環境越能看得出瀏覽器的效能差異,而更多新的網頁標準、元素與參賽者的加入,相信會更豐富瀏覽器市場的後續競爭戲碼。
本文亦刊載於144期OSSF電子報
由中研院旗下的自由軟體鑄造場(Open Source Software Foundry)發行