从「译言」上的 一篇文章 据悉各浏览器 Javascript 的对比。我个人作为一名「准」的 Javascript 开发者,对此事自然比较的关注。 SunSpider 的测试面我还是保持对其信任的态度的,正如原文所说的「它是一组被精心设计的测试,易于运行也非常全面」。

下面是测试的内容:

  • 3d - 纯粹 JavaScript 的 3D 渲染运算,但并不包含渲染部分。它包含大量的浮点运算和数组操作。
  • access - 数组,对象属性和变量的访问读取。
  • bitops - 位操作,这在游戏、数学运算和多种编码解码中有重要应用。它也是JavaScript中唯一的整数运算。
  • controlflow - 控制流结构 (重复,递归,条件)。目前它主要是递归结构,但其它结构也均被包含。
  • crypto - 真实的加密代码,主要为位操作和字符串操作。
  • date - \"date\"对象性能。
  • math - 多种数学运算类型。
  • regexp - 正则表达式。
  • string - 字符串处理,包括生成一个巨型\"tagcloud\"的代码,解压压缩过的 Javascript 代码等等。

https://friable.rocks/_/2007_12_22/1586815073.jpg

除了上述的对比之外,下面的统计图更能直观的对比各浏览器的性能。

https://friable.rocks/_/2007_12_22/1144012531.jpg

虽然测试所生成的字符串在大部分的生产情况下几乎不可能发生,但我对于 IE 如此低下的运行效率还是颇有微词。排除 IE 最薄弱的字符串操作,本人和原文作者同样的感到惊讶的就是排除字符串的测试, Firefox 的速度并不比 IE 快多少。正如我上次 对 Firefox 3beta 评测中 期待的,我希望它能运行得更快些。

Safari 也是我 一直关注 的浏览器,它在此项的测试中的效率还是感到非常满意的。至于 Opera,看得出原文的作者也给予其非常高的评价,「世界上最快的浏览器」这个称号看来的确名至所归。

总结一下,由于现在国内大部分浏览器市场还是 IE 为主,所以根据上述的测试,特别是对于 Javascript 方面,字符串的操作是尤其要考虑下它的性能的。发现 IE 中 Javascript 的正则的运行效率还是比较的满意的,可能以后如果碰到字符串方方面的操作比较,我会优先考虑使用正则。

最后,推荐继续阅读下 原文链接