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

jopen 12年前

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

  谷歌发布了新的开源 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 许可下可用。

来自: InfoQ