BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

谷歌发布JavaScript开源基准测试套件——Octane

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 倪瀚飙 关注 0 他的粉丝 发布于 2012年9月14日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

谷歌发布了新的开源JavaScript基准测试套件Octane,它包含了13个测试,用于测量浏览器加载与执行复杂的大型JavaScript应用的性能,如游戏、交互、富Web页面和在线工具等。Octane包含了最初的V8基准套件提供的8个测试,以及新增加的5个测试——pdf.js,Mandreel,GB Emulator(GB模拟器),Code Loading(代码加载),Box2DWeb——可以测量其余测试力有未逮的性能领域。

  • Richards—— OS内核模拟基准测试,最初由Martin Richards写在BCPL中(539行)。
  • Deltablue——单向约束求解器(Constraint Solver),最初由John Maloney 和 Mario Wolczko用Smalltalk写成(880行)。
  • Raytrace——Ray tracer基准测试,基于Adam Burmister编写的代码(904行)。
  • Regexp——正则表达式的基准测试是从50个最流行的网页中提取正则表达式操作所产生的(1761 行)。
  • NavierStokes——2D NavierStokes方程求解器(Equations Solver),主要处理双精度数组。它基于Oliver Hunt's的代码(387行)。
  • Crypto——加密和解密基准测试,基于Tom Wu的代码(1698行)。
  • Splay——数据操作的基准测试,用于处理平衡树,使用了自动内存管理子系统(394行)。
  • EarleyBoyer——经典的样式基准测试(Classic Scheme Benchmarks),使用Florian Loitsch的Scheme2Js编译器将Scheme转换为JavaScript(4684行)。
  • pdf.js——在JavaScript中实现了Mozilla的PDF阅读器。它可以测量解码和解释的时间(33,056行)。
  • Mandreel——运行3D Bullet物理引擎,该引擎通过Mandreel将C++移植到JavaScript (277377行)。
  • GB Emulator——全部采用JavaScript模拟便携式控制台的架构,以及运行所需的3D模拟(11,097行)。
  • Code loading——测量Javascript引擎在加载了一段大型的Javascript程序后开始解码的速度有多快,一个常见的实例为Social Widget。该测试的源代码来自开源代码库(Closure, jQuery)(1,530行)。
  • Box2DWeb——基于流行的2D物理引擎Box2DWeb,最初由Erin Catto编写,现被移植到JavaScript。 (560行,9000+ 精简版)

该基准测试可以运行在桌面版的Chrome 14+、 Firefox 13+、IE 10、Opera 12和 Safari 5.1.7+上,移动版的Chrome, Firefox 和 Opera上。它无法在IE 9上运行,因为微软的浏览器没有实现WebGL类型化数组(Typed Arrays),一些手机浏览器也未能完成某些测试,包括:Android浏览器、iOS 4上的Chrome浏览器(由于iOS的限制)和iOS上的Safari浏览器。

相较于如V8, SunSpider, Kraken或Dromaeo之类的其他JavaScript基准测试,Octane表现更为全面。谷歌表达了他们想要不断改进测试套件的意愿,邀请了用户填写性能方面或应用程序的问题报告,这可以作为更为全面的JavaScript测试的基础。

Octane基准测试的源代码新的BSD许可下可用。

原文链接:http://www.infoq.com/news/2012/08/Octane-JavaScript-Benchmark


感谢张逸对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT