写点什么

谷歌放弃 Octane JavaScript 基准测试

  • 2017-05-03
  • 本文字数:1089 字

    阅读完需:约 4 分钟

谷歌宣布他们不再对该公司的 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 )关注我们。

2017-05-03 19:005804

评论

发布
暂无评论
发现更多内容

C++--- 类型萃取 ---is_void && is_null_pointer

桑榆

C++ STL 11月月更

Java 注解与反射 基础

卢衍飞

Java

看透react源码之感受react的进化

goClient1992

React

横向对比主流BI软件优势,企业要按需选择

巷子

【Python 基础学习】-运算符

度假的小鱼

11月月更 Python运算符 Python运算符优先级

JavaWeb项目部署到腾讯云教学

陈老老老板

腾讯云 javaWeb java; 11月月更

Web3领域首个三消小游戏Matching Game,近30日交易量破800万U

股市老人

转化10亿GMV:螺丝钉也能变小马达

博文视点Broadview

Mysql基础超详细讲解

陈老老老板

MySQL 数据库 11月月更

SpringBoot整合Quartz

陈老老老板

定时任务 spring-boot 11月月更

聊一聊装饰者模式

Java 设计模式

ISV 的亚马逊云科技 marketplace ( 中国区) 之旅

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Tech 专栏 Marketplace

Node.js在Buffers对象在数据报的表现交互在Modules的实战心得

恒山其若陋兮

前端 11月月更

Springboot超详细入门

陈老老老板

spring-boot 11月月更

MongoDB源码学习:Command的执行与注册

云里有只猫

mongodb 源码学习

Java 线程基础

卢衍飞

Java

React-Hooks源码深度解读

goClient1992

React

Timers和进程在Client里的性能表现实战心得【Node.js】

恒山其若陋兮

前端 11月月更

SpringBoot整合EasyExcel超详细教学

陈老老老板

spring-boot 11月月更

JavaScript 基础

卢衍飞

JavaScript 学习 技术交流 基础

瓴羊Quick BI,强劲数据引擎助力企业数据分析

夏日星河

【web 开发基础】PHP 中的可变参数个数的函数 (34)

迷彩

函数 web开发基础 11月月更 可变个数参数的函数

China SAFe Day 2022中国规模化敏捷大会圆满落幕!

爱吃鱼的小雨

敏捷 safe 规模化敏捷 SAFeDay

Java 反射

卢衍飞

Java

深度分析React源码中的合成事件

goClient1992

React

性能测试知识科普(六):三大模型

老张

性能测试 数据模型 业务模型 流量模型

基于鸿蒙系统的commonEvent和限制与约束原子化服务代码简析

恒山其若陋兮

前端 11月月更

极客时间运维进阶训练营第五周作业

9527

华为云GaussDB(for Influx):让智能电网时序数据处理更高效

路过的憨憨

华为

C++中的代码重用

Maybe_fl

谷歌放弃Octane JavaScript基准测试_JavaScript_David Iffland_InfoQ精选文章