Chrome在Speedometer 3.1创下历史最高分,为用户节省数百万小时

本文详细介绍了Chrome浏览器在Speedometer 3.1基准测试中取得的突破性进展,包括22%的性能提升和具体的技术优化方案。文章深入解析了Blink渲染引擎的优化细节,涵盖内存布局改进、字符串处理优化和缓存策略增强等核心技术内容。

Chrome在Speedometer 3.1创下历史最高分,为用户节省数百万小时

2025年6月5日 星期四

更新(2025年6月10日):本博客已更新,反映测试是使用Speedometer 3.1基准进行的,并带来了22%的性能改进。之前的版本错误地指出性能改进为10%,且基准是Speedometer 3。

性能一直是Chrome的核心支柱之一,也是我们持续投入的领域。我们与其他浏览器公开合作创建的公开可用基准,是跟踪整体进展、理解新的改进领域和验证潜在优化方案的有用工具。在今天的"The Fast and the Curious"博文中,我们将介绍Chrome最近的工作,使其在Speedometer基准测试中取得了有史以来的最高分。

对于Speedometer而言,这些优化自2024年8月以来带来了22%的性能提升。这22%的提升带来了更好的浏览器体验、更高的商业转化率,以及更深入地享受网络所提供的功能。如果每位Chrome用户每天仅使用Chrome 10分钟,这些改进累计可节省1.16亿小时,相当于大约166辈子的网站加载和操作等待时间。

Speedometer 3.1基准测试详情

Speedometer是在Apple Macbook Pro M4配备MacOS 15系统上测量的。

Speedometer是一个与其他浏览器公开合作创建的基准,通过涵盖Chrome使用的Blink渲染引擎多个不同领域的工作负载来衡量Web应用程序的响应能力:

  • HTML解析
  • JavaScript和JSON处理
  • JavaScript与文档对象模型(DOM)交互
  • DOM操作(元素插入和移除)
  • 文本大小计算(字体形状分析)
  • 层叠样式表(CSS)应用和布局计算
  • 像素渲染

本质上,Speedometer测试整个渲染流水线的关键组件。要深入了解这些独立部分,我们推荐观看Chrome大学的"Life of a Script"演讲。

优化方法与具体技术改进

实现卓越的Web性能需要多方面的方法,而对Speedometer的优化证明了产品的整体卓越性。过去一年中,我们的团队专注于优化整个技术栈的基础渲染路径。以下是一些值得注意的优化示例:

内存布局优化

团队深度优化了DOM、CSS、布局和绘制组件中许多内部数据结构的内存布局。Blink现在通过根据访问模式保持状态在适当位置,避免了系统内存的大量无用变动,从而最大化CPU缓存的利用率。在内部内存已经依赖于Oilpan垃圾回收的地方(例如DOM),通过将类型从使用malloc转换为使用Oilpan,扩展了其使用。这通常能加速受影响的区域,因为它在Oilpan的后端很好地打包了内存。

字符串处理改进

过去一年中,渲染器中的字符串处理有了显著改进,尽可能避免了成本高昂的表示形式,并将哈希计算切换为rapidhash。更普遍的是,许多数据结构配备了更好的哈希算法、过滤器和探测算法。

缓存策略优化

在渲染 inherently 变得昂贵的场景中,例如跨各种元素计算CSS样式,现在通过更高的命中率更有效地使用缓存。同时,我们减少了缓存不相关的内容。另一个渲染变得昂贵的领域是字体形状分析;团队显著提高了Apple高级排版字体形状分析的性能,这在渲染文本的任何地方都相关。

发布者:Thomas Nattestad

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计