写点什么

谷歌放弃 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:005770

评论

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

深入理解 volatile 关键字

编程江湖

volatile JAVA开发

云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离

华为云开发者联盟

EI企业智能 数据仓库服务GaussDB(DWS) 逻辑集群

架构原则

卢卡多多

架构 11月日更

译文 | Apache Pulsar 集群如何确保消息不丢

Apache Pulsar

Java 分布式 云原生 中间件 Apache Pulsar

Prometheus Exporter (十)Ping Exporter

耳东@Erdong

Prometheus ping exporter 11月日更

央视新闻联合百度智能云打造首个AI手语主播

百度大脑

人工智能

没有人比我更会使用集合!对,是dart中的集合

程序那些事

Java flutter dart 程序那些事 11月日更

vue3 学习笔记 (三)——vue3 自定义指令

码仔

Vue3 自定义指令

在线文本按列截取工具

入门小站

工具

【高并发】浅谈AQS中的CountDownLatch、Semaphore与CyclicBarrier

冰河

Java 并发编程 多线程 高并发 异步编程

Flutter:如何在没有插件的情况下制作旋转动画

坚果

flutter 11月日更

复杂业务系统高扩展架构设计与实践

鲸品堂

构架

Hadoop 入门笔记—核心组件 YARN

编程江湖

大数据 hadoop

风口上的低代码:我们看到了这些变化与趋势

脑极体

贪心算法:加油站 ⛽

空城机

算法 大前端 11月日更

[Pulsar] 消息生命历程(四)——Broker的消息处理

Zike Yang

Apache Pulsar 11月日更

程序员如何应对职业天花板

石云升

职场天花板 职场经验 11月日更

《深入理解JVM虚拟机》读书笔记:第二章 Java内存区域与内存溢出异常

Joseph295

搞定大厂算法面试之leetcode精讲6.深度优先&广度优先

全栈潇晨

算法面试 Leet Code

如何与 Dapr 集成打造 Apache APISIX 网关控制器

API7.ai 技术团队

云原生 网关 dapr Apache APISIX ingress-controller

如何使用find和locate 命令在Linux 中查找文件和目录?

Ethereal

Linux find locate

博文推荐 | 基于 Pulsar 事务实现 Exactly-Once 语义

Apache Pulsar

Java 架构 云原生 中间件 Apache Pulsar

架构实战营-模块六

瓜子葫芦侠

「架构实战营」

Android C++系列:Linux进程间通信(二)

轻口味

c++ android jni 11月日更

详解阿里开源分布式事务框架Seata

博文视点Broadview

JSRE中的多任务与多线程

编程江湖

html5 大前端

linux 上查找包含特定文本的所有文件

入门小站

Linux

小谈C#异常

喵叔

11月日更

Apache APISIX request_uri 变量控制不当,存在路径穿透风险公告(CVE-2021-43557)

API7.ai 技术团队

Apache 云原生 漏洞修复 Apache APISIX ingress-controller

Java开发基础之开发环境搭建

@零度

JAVA开发

docker vs docker-compose 解密

liuzhen007

11月日更

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