Chrome Tops Speedometer 3.0: A Benchmarking Triumph
Today, we delve into how Google Chrome clinched the top spot on Speedometer 3.0, the latest in browser benchmarking tools designed to enhance the performance of Web applications. This post will not only highlight Chrome’s achievement but also offer insights into the collaborative efforts that led to this milestone. If you haven’t tried Chrome yet, you can download it here.
Understanding Speedometer 3.0
Speedometer 3.0 is the latest benchmark for measuring browser performance, developed through a collaborative industry effort involving tech giants like Google, Apple, Mozilla, Intel, and Microsoft. This tool allows developers to identify areas where browser performance can be optimized, ultimately providing users with a faster and smoother browsing experience.
Chrome’s Performance Journey
Since the inception of Speedometer 3.0 in May 2022, Chrome has undergone significant optimizations, resulting in a 72% increase in its Speedometer score. This improvement translates into tangible performance gains for users, making Chrome not just faster but also more efficient.
Optimizing Workloads
To achieve this remarkable performance, the Chrome team closely examined the workloads in Speedometer and identified functions where Chrome spent the most time. By making targeted optimizations, they were able to significantly boost Chrome’s score. Here are some of the key optimizations:
- SpaceSplitString Function: This function is essential for converting space-separated strings, like "class=’foo bar’", into a list format. By removing unnecessary bound checks, the team improved its efficiency.
- Stylesheet Deduplication: When duplicate stylesheets are detected, Chrome now references a single stylesheet instance, reducing memory usage and improving performance.
- Path and Arc Drawing: Memory allocations for drawing paths and arcs were fine-tuned, reducing the cost and speeding up rendering times.
- Form Editors: Unnecessary processing when creating form elements was detected and eliminated, streamlining the process.
- QuerySelector Optimization: By identifying commonly used selectors, the team created a ‘hot-path’ for faster query execution.
Previously, the team had also optimized
innerHTML
parsing using specialized fast paths, an implementation that was later adopted by WebKit. Some workloads in Speedometer 3.0 useDOMParser
, so the same optimization was extended for an additional 1% performance gain.Collaborative Efforts
The Chrome team worked with the Harfbuzz maintainer to optimize how Chrome renders AAT (Apple Advanced Typography) fonts, commonly used in macOS. Text starts as a stream of Unicode characters, which is then transformed into glyphs and processed by a state machine defined in the AAT font. The optimization allows Chrome to quickly determine whether glyphs participate in the state machine rules, leading to faster text processing.
Tiering Up Code
One crucial strategy for achieving high performance is ‘tiering up’ code—selecting the most critical code to optimize further. Intel contributed profile-guided tiering to Chrome’s V8 JavaScript engine, which remembers past tiering decisions. If a function was stably tiered up in the past, it is eagerly tiered up in future runs, enhancing performance.
Improving Garbage Collection
Improvements in garbage collection contributed around 3% to Chrome’s Speedometer 3.0 score. V8’s garbage collector has a long history of utilizing idle time to avoid interfering with application code. Recent changes extend this mechanism, preferring garbage collection during idle times in otherwise active renderers. For example, DOM finalization code, which runs when reclaiming objects, now also runs during idle times, reducing competition with regular application code for CPU resources.
Additionally, V8 now supports a more compact layout for objects that wrap DOM elements, reducing memory pressure and decreasing the time spent on garbage collection.
Good to Know
For those interested in the technical details, V8 is Chrome’s JavaScript engine responsible for executing JavaScript code in your browser. Efficient garbage collection is crucial for maintaining smooth performance, as it frees up memory by removing objects that are no longer in use.
Industry Reactions
The tech community has been abuzz with reactions to Chrome’s achievement. Industry experts have praised the collaborative effort behind Speedometer 3.0, highlighting how it sets a new standard for browser performance measurement. Developers appreciate the detailed insights and actionable data it provides, enabling them to make informed decisions about optimizing their applications.
Conclusion
Chrome’s top performance on Speedometer 3.0 is a testament to the relentless pursuit of excellence by the Chrome team and their collaborative partners. By focusing on critical areas like workload optimization, tiering up code, and improving garbage collection, Chrome continues to set the benchmark for browser performance. If you haven’t experienced the speed and efficiency of Chrome yet, now is the perfect time to give it a try.
Posted by Thomas Nattestad, Chrome Product Manager
This comprehensive look at Chrome’s journey to the top of Speedometer 3.0 not only highlights the browser’s technical prowess but also underscores the importance of collaboration and continuous improvement in the tech industry.
For more Information, Refer to this article.