新闻来源:译言
Apple WebKit 团队(Safari 核心开发者) 在12月18日发布0.9版本的SunSpider -- 浏览器JavaScript性能测试。国外科技博客CodingHorror盛赞该测试的设计,并对各主流浏览器进行测试。结果出乎意料,尽管各项子测试中浏览器表现各有不同,但总体来说,Firefox JavaScript 性能不如 IE7,Windows 平台的Safari表现优异,而冠军是Opera。我之前的一篇文章发现从1996年到2006年,浏览器的 JavaScript 性能提高了100倍。如果 web 2.0 是构建在 JavaScript 的骨干上,那么那些重要的摩尔定律式性能改善会使之成为可能。
我们已经走到性能提升的尽头了么?浏览器运行 JavaScript 有没有可能比现在还快得多?我一直认为即时优化(甚至编译)JavaScript 是浏览器技术尚未探索到的前线。但现在,显然情况大大改观了:
1.苹果的 WebKit 团队刚刚发布最新的 JavaScript 测试集,SunSpider.
2.浏览器市场的竞争更激烈了.Opera 9.5, Firefox 3, Safari 3 和 IE 8 都在争夺觊觎已久的主流浏览器地位.
或许浏览器开发者们将会把 JavaScript 的性能提上竞争优势的高度。上次我寻找通用JavaScript测试的时候十分失望。这也是为什么我对 SunSpider 的推出十分高兴:它是一组被精心设计的测试,易于运行也非常全面。
首先,它基于执行有趣任务的真实代码;包括现在网络程序正在执行的一些任务,以及我们期望的一些更高级网络程序将执行的任务。里面几乎没有什么测试可以被称作微测试。
其次,它平衡了JavaScript语言中的各个领域——并不是仅仅包含一小部分。事实上,我们从整个网络上搜集测试用例子,包括其他各种测试集。同时,我们排除了DOM测试,紧紧聚焦在JavaScript本身。
不管在浏览器上,还是用命令行,运行测试都非常容易。所以你可以仅仅测试纯引擎速度,也可以看到它在浏览器中的真实表现。
我们使用了统计分析的方法,能够给出真实稳定的结果。
WebKit 成员 Maciej Stachowiak 在注释中给出了每个测试子集的用途:

我很惊奇,如果排除字符串测试, Firefox 远远慢于 IE。至于 Opera,我不得不用一个测试板本的 Opera 以免所有浏览器在某些测试中都取得无效(NaN)结果;这足以说明我对 Opera 的态度。可以用伟大来形容Opera!我原先也期望 Opera 能够做得不错,毕竟在 2005 年的时候它就在JavaScript测试中轻松取得冠军。Safari,这个Windows系统里面的来客表现得相当不错,尤其考虑到它并不是在 OS X 中运行。当然,这里先不提非常严重的所有字体显示过胖问题。
如果你希望每个浏览器在各项测试中的成绩:

如果你想要更详细的细节,包括变化区间,这里有完整的SunSpider测试结果。
如果说我从计算机工业发展史里面学到什么,那就是竞争有利于每个人。让我们期待这个浏览器JavaScript大比拼激励浏览器开发团队吧。在这个重要方面,我们总是需要更好的性能。
SunSpider 测试地址:http://webkit.org/perf/sunspider-0.9/sunspider.html