宣布速度计 3.0:用于 Web 应用程序响应性的共享浏览器基准测试

  • 2014 年 WebKit 团队发布 Speedometer 基准的初始版本,此后它成为浏览器引擎推动性能优化的关键工具,用户和开发者持续要求更丰富、更流畅的在线体验。
  • 今日发布 Speedometer 3.0,是三大主要浏览器引擎(Blink、Gecko、WebKit)协作的成果,像之前的版本(2018 年的 Speedometer 2 和 2014 年的 Speedometer 1)一样,通过模拟真实网页上的用户交互来衡量 Web 应用的响应性。此次发布标志着 Web 浏览器性能测试的重大进步,引入了更好的性能测量方法和更具代表性的测试集,以反映现代 Web。

    A New Governance Model

  • 这是 Speedometer 基准或任何主要浏览器基准首次通过跨行业协作开发,由各主要浏览器引擎(Blink/V8、Gecko/SpiderMonkey、WebKit/JavaScriptCore)支持,在新的治理模式下开发,以共识为驱动,托管在共享仓库中,欢迎贡献。自 2022 年 12 月宣布该项目以来,涉及大量集体努力,包括讨论、研究、辩论、决策和数百个 PR。

    A Broader Range of User Experiences

  • Speedometer 3 添加了许多新测试,通过确定关键场景和用户交互来设计,添加了模拟渲染 canvas 和 SVG 图表、代码编辑、WYSIWYG 编辑、阅读新闻网站等新测试,还改进了 TodoMVC 测试,包括更新代码以适应基于 HTTP Archive 数据的最流行框架的最常见版本,并引入了更复杂版本的测试嵌入到更大的 DOM 树中,更紧密地模拟当今流行 Web 应用的页面权重和结构,这些测试涵盖了更广泛和更具代表性的引擎部分,为优化 JS、布局、CSS、图形和 DOM API 提供了新机会。

    Improvements to the Test Runner

  • Speedometer 3 的测试运行器本身得到改进,以测量浏览器响应用户操作所做的更多工作,如绘制和异步任务。Speedometer 2.0 测量同步运行测试脚本的时间为“同步”时间,以及 0 秒计时器触发之前的任何额外工作为“异步”时间,但错过了浏览器引擎更新网页渲染所需的一些工作。在 Speedometer 3.0 中,能够测量之前错过的渲染工作,在 requestAnimationFrame 回调中测量测试脚本为“同步”时间,在第二个 requestAnimationFrame 中调度的 0 秒计时器触发为“异步”时间,这大大提高了基准的准确性,转化为引擎优化之前错过的工作时用户的实际改进。还有一些幕后改进,如改进开发工具、重新设计测试运行器架构、代码质量改进和迁移到现代特性等。

    Improving Web Performance

  • Speedometer 3 的主要目标是尽可能反映真实世界的 Web,以便浏览器在基准上提高分数时用户受益,在公开发布之前就已取得一些成功,各主要引擎的核心优化在过去一年转化为整个 Web 上用户的响应性改进。
阅读 30
0 条评论