|
||||
昨天我們對Chrome、Firefox、IE、Opera、Safari五款流行瀏覽器的速度進行了全面對比測試,今天我們再來看看另一個非常實際的問題:內存佔用。
本次測試的主角是Google Chrome 3.0開發版、Mozilla Firefox 3.5 Beta 4測試版、Safari 4.0正式版、Opera 10.00 Beta測試版,而IE8因為測試方法的原因沒有加入。測試環境是Windows Vista Home Premium 32-bit操作系統、4GB內存、Visual Studio、.NET Framework 3.5 SP1等。
平常衡量應用程序內存佔用率都是查看任務管理器,不過那樣顯然太不精確,為此dotnetperls.com用C#自行編寫了一個小程序,在命令行下模擬瀏覽Alexa排名世界前五百位的各大網站(截至2009年6月19日)。
在測試過程中,每個瀏覽器都根據命令行通過新標簽打開新網站,且之前的標簽保持可訪問狀態,直到打開三十個網站後再關閉所有標簽頁,只保留一個空白的,接下來重復以上過程。這樣能基本模擬大部分用戶的實際體驗。由於IE8總是每次都打開新窗口而非新標簽,一時找不到解決方法,所以沒有參加測試。
自行編寫的內存佔用查看工具會每隔三秒鍾記錄一次實時結果。像Google Chrome這種每個標簽頁一個進程的,則統計所有同名進程的總內存佔用量。測試總耗時1152秒(19.2分鍾),共有384個記錄點。
測試結果如下——
峰值內存佔用:
Chrome:1216.16MB (最大)
Firefox:327.65MB (最小)
Opera:554.11MB
Safari:517.00MB
平均內存佔用:
Chrome:543.83MB (最大)
Firefox:166.82MB (最小)
Opera:347.45MB
Safari:319.44MB
最終內存佔用:
Chrome:109.49MB
Firefox:106.66MB (最小)
Opera:441.49MB (最大)
Safari:349.62MB
有圖有真相——
測試總結:
盡管Firefox在1.0/2.0時代的內存管理做得不算好,但3.5最新測試版卻是各瀏覽器中最出色的,峰值、平均和最終結果都是最低的,內存管理和釋放效率都相當高,是本次測試當之無愧的勝者。
Chrome因為運行機制(每個標簽對應一個進程)的原因比較特殊,打開大量標簽後內存佔用量急劇飆昇,最高超過1.2GB,是Firefox的將近四倍、Opera和Safari的兩倍左右,不過內存釋放效率也很不錯,所佔內存在關閉標簽後幾乎全部釋放,和Firefox差不多,測試完成後都只佔100MB多點。
Safari和Opera的表現差不多,而前者稍好一些,特別是在測試後期內存佔用量更低一些。測試結束後Safari還佔著350MB內存,而Opera高達440MB,是所有參測瀏覽器中最高的,可能是還處於早期測試階段的原因。