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是在与其他浏览器公开协作创建的基准,通过涵盖Chrome使用的Blink渲染引擎众多不同领域的工作负载来衡量Web应用程序的响应能力:
本质上,Speedometer测试整个渲染流水线的关键组件。要深入了解这些独立部分,我们推荐观看Chrome University的"Life of a Script"演示。
实现卓越的Web性能需要多方面的方法,而对Speedometer的优化证明了产品的整体卓越性。过去一年中,我们的团队专注于优化整个技术栈的基础渲染路径。以下是一些显著的优化示例:
团队深度优化了DOM、CSS、布局和绘制组件中许多内部数据结构的内存布局。Blink现在通过根据访问模式将状态保持在适当位置,避免了系统内存的大量无用变动,从而最大化CPU缓存的利用率。在内部内存已经依赖于Oilpan垃圾回收的地方(例如DOM),通过将类型从使用malloc转换为使用Oilpan来扩展其使用。这通常能加速受影响的区域,因为它在Oilpan的后端很好地打包了内存。
渲染器中的字符串在过去一年中通过尽可能避免昂贵的表示形式,并将哈希切换为rapidhash而得到了显著改进。更广泛地说,许多数据结构配备了更好的哈希、过滤器和探测算法。
在渲染 inherently 变得昂贵的地方,例如跨各种元素计算CSS样式,现在通过更高的命中率更有效地使用缓存。同时,我们减少了缓存不相关的内容。另一个渲染变得昂贵的领域是字体形状分析;团队显著提高了Apple Advanced Typography字体形状分析的性能,这在所有渲染文本的地方都很重要。
发布者:Thomas Nattestad
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。