写点什么

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

评论

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

三高Mysql - Inndb存储引擎和索引介绍

懒时小窝

MySQL innodb MySQL InnoDB

在线HTML压缩格式化工具

入门小站

工具

投资与人性(21/100)

hackstoic

投资

设计电商秒杀系统

supermenG

架构师训练营 4 期

自己动手写Docker系列 -- 3.3使用命令管道优化参数传递

Docker

自己动手写Docker系列 -- 4.1使用busybox创建容器

Docker

元宇宙时代的5大风险

CECBC

常见的社群玩法盘点,你做的是哪一种?

源字节1号

开源 社群

电路模型和电路定律(Ⅰ)

謓泽

3月月更

游戏制作片段

都灵树屋

区块链技术如何赋能公共资源招采管理服务?

CECBC

B端/C端中,产品or运营哪个更重要?

源字节1号

运营

更新丨织信Informat V1.12:审批流通知支持移动端打开链接,一键实现快速审批

优秀

低代码开发

使用Node.js、MongoDB、Fastify 构建API服务

devpoint

mongodb nodejs swagger REST API 3月月更

自己动手写Docker系列 -- 4.2使用AUFS包装busybox

Docker

iOS内存管理篇

刁架构

内存管理 iOS 知识体系

自己动手写Docker系列 -- 4.4实现简单镜像打包

Docker

Redis缓存应用—旁路缓存和数据一致性

javaadu

redis 缓存

DDD 实战(5):战略设计之上下文映射和系统分层架构

深清秋

DDD 软件架构 生鲜电商系统 3月月更

一文了解 Python 中的对象析构函数:__del__

踏雪痕

Python 3月程序媛福利 3月月更

RabbitMQ 的五种消息模型

Ayue、

RabbitMQ 3月月更

C#调用C++动态库接口函数和回调函数

DS小龙哥

3月月更

QT读取剪切板内容-实现复制粘贴文本和图片

DS小龙哥

3月月更

模块5作业-”微博评论“的高性能高可用计算架构

卡西毛豆静爸

「架构实战营」

当在线纠纷解决遇到区块链:去中心化司法的诞生

CECBC

Linux之bc命令

入门小站

Linux

在线JSON转HTML,TABLE表格工具

入门小站

工具

自己动手写Docker系列 -- 3.2增加容器资源限制

Docker

自己动手写Docker系列 -- 4.3实现volume数据卷

Docker

优秀程序员的30种思维--技术执念篇(22/100)

hackstoic

技术思维

架构学习总结

tony

「架构实战营」

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