[ 2008/03/19 08:49 | by lj842 ]
Ars Technica上的一篇文章中对Firefox 3 Beta 4和其他最新浏览器进行了对比测试。FF3B4的对手包括 IE7,Firefox 2,Opera 9.5 Beta 和 Safari 3.0.4 Beta。测试结果显示,Firefox 3 Beta 4的内存使用效率最高,它甚至在测试中超过了Opera,这个被长时间来看做是最快的浏览器。
在同时使用大约50个浏览页的密集测试中,测试者发现Firefox 3比Firefox 2.0.0.12少用了一半的内存。而且Firefox3在执行诸如不同页面间切换以及其他操作等Firefox2高负荷状况下的典型的会有延迟的操作中响应也更快。
Mozilla的开发者Stuart Parmenter在一篇介绍减少Firefox内存占用策略的文章中也做过类似对比测试。该测试使用了Talos framework ,Talos测试框架基于Vista系统,再现了日常的使用状况,测试中会自动在不同的浏览页中循环切换然后关闭页面。Firefox3在这一过程中比其他浏览器占用了更少的内存,并且关闭页面时也会比其他浏览器释放更多内存。Safari 3和IE 8没有完成测试,因为它们在测试中崩溃了。
这次测试的结果是可以用同样的工具再现的,这是Firefox的一个大胜仗,它长期以来一直因为高内存耗用而饱受批评。为了解决这个问题,开发者们从很多不同的角度来着手。为了减少内存碎片,开发者把内存分配的总数最小化,特别是在程序启动的时候。开发者还借鉴了FreeBSD中的jemalloc内存分配器,以帮助减少碎片提高性能。
另外一个大的改进是新的XPCOM循环收集器,它可以自动检查互相引用(mutual reference)造成的永久性无用对象。Parmenter说,这个收集器对插件很有意义,因为它可以预防类似的插件造成的内部内存泄露。缓存行为也经过了改进,浪费更少,不再缓存解压缩后的图像数据。
Mozilla的传道者Christopher Blizzard,曾经写过关于内存使用改善的文章,在文章中提供给读者另一种深刻见解:Firefox 3中的小内存足迹 memory footprint(指一个算法或一段程序所用内存的大小和内存操作的线性度等)表明了Firefox适合移动环境。
即将发布的Firefox 3除了更小的内存足迹外,还包括改进了的用户界面,新的主题提高了视觉系统的整合性;完全重写的书签和历史系统使用了SQLite数据库;一个基于Cairo的渲染后台,支持全页面缩放;支持JavaScript 1.8和很多其他新特性。这些改进会帮Firefox得到更多的用户。
测试情况见下图,纵轴:所占用内存,横轴:浏览器运行时间。
1.jpg