谷歌宣布他们不再对该公司的 Octane JavaScript 基准测试提供支持,理由是这套测试缺乏实用价值;此外还有迹象表明 Chrome 正在筹划巨变。
在一篇博客中,谷歌声称这套测试在早期是很有用的,但之后就变得过时了。它无法反映如今构建网页的普遍方式。
Octane 帮助引擎开发者进行优化工作,从而使计算密集型应用程序在 JavaScript 上获得足够的性能,令 JavaScript 成为 C++ 或 Java 的可行替代。
然而到了 2015 年,大多数 JavaScript 的实现都为在 Octane 中获得高分而使用了编译器优化措施。此外,我们开始注意到令 Octane 跑分更高的 JavaScript 优化经常在实际应用场景中产生相反的效果。
此事件的讽刺之处在于,谷歌被他们的竞争对手在自家的测试中击败了。在一个宣传页面上,微软声称在 Octane 2.0 测试中 Edge 比 Chrome 更快,强调“谷歌自己的性能测试显示微软 Edge 比 Chrome 和 Firefox 更快。”
不过微软这边看起来也认可谷歌的说法,觉得基准测试难以反映实际应用的情况:
经常有人问我们关于 JavaScript 测试成绩的话题。虽说测试成绩并不总是与实际应用性能直接相关,但它在高级别上自有用途,可以在纵向对比改进的程度。
Brian Terlson 是微软 Chakra JavaScript 引擎的程序经理。他在 Hacker News 上的一条评论写道“Octane 作为基准测试是很好的,但我们必须在一大堆测试中找到平衡点,最后还是要把工作落实到实际应用中(这是我们从一开始就密切注意的事情,例如我们意识到解释器可以加快很多实际应用的启动速度,但对 Octane 成绩没什么帮助)”。
显然浏览器厂商觉得他们已经掌握了大多数提升 JavaScript 性能的诀窍了。通过类似 WebAssembly 这样的功能,我们可以用不同于过去多年以来的方式获得性能改进。现在更重要的是提升用户的实际体验,所以我们需要全新的基准测试工具。
很多迹象表明 Speedometer 是现有的一个不错的选择。Jeff Atwood 已经为它背书,Chromium 团队的一篇博文也给出了同样的看法。Speedometer 使用流行的TodoMVC 样例来测试浏览器性能。 Brower Bench 也有一个浏览器图形测试(Motion Mark)和一个 JavaScript 测试(JetStream)。
Chromium 团队的博客还说他们正在基于现代的 JavaScript 模式筹划改进 JavaScript 性能,暗示他们正在准备大干一场:
等着更新到我们全新的引擎架构吧,这是为现实应用打造的成果。
Octane 仍可通过 GitHub 访问,开发者可以继续使用它。
查看英文原文: Google Retires Octane JavaScript Benchmark
感谢张卫滨对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论