这里我们来看看这些浏览器的关键问题:内存占用,本次测试的主角是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月)。
在测试过程中,每个浏览器都根据命令行通过新标签打开新网站,且之前的标签保持可访问状态,直到打开三十个网站后再关闭所有标签页,只保留一个 空白的,接下来重复以上过程。这样能基本模拟大部分用户的实际体验。由于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,是所有参测浏览器中最高的,可能是还处于早期测试阶段的原因。