Google announced today that the company's Chrome 53 web browser is up to 15% faster on Windows thanks to a technique called Profile Guided Optimizations.
The improvement comes from making use of Microsoft's Profile Guided Optimization (PGO) technology that Google implemented in Chrome 53 and 54.
Profile Guided Optimization uses results of profiling test runs of a program to optimize source code before final compilation and distribution.
Chrome is not the first web browser to support Profile Guided Optimization. An entry on the Mozilla Developer Network indicates that Firefox has been supporting PGO for builds since 2013.
Chrome performance optimizations on Windows
Google's use of Profile Guided Optimization on Windows builds of Chrome has the following effect on the browser:
- Startup time of Google Chrome: 16.8% faster.
- Page load time: 5.9% faster.
- New tab page load time: 14.8% faster.
Google explains how PGO helped its developers create a faster browser on Windows:
Chrome is a huge software project with more than a million functions in its source code. Not all functions are equal - some are called frequently, while others are rarely used. PGO uses data from runtime execution that track which functions are most common to guide optimization.
To gather this data, the nightly build process now produces a special version of Chrome that tracks how often functions are used. PGO then optimizes those high-use functions for speed, in some cases increasing the binary size of those functions. To balance out that increase, PGO also optimizes less-used functions with smaller, though slightly slower code. These trade-offs result in higher overall performance, and a smaller overall code footprint.
PGO also optimizes the memory location of the code, moving rarely-used functions away from frequently-used ones in memory. This results in more optimal use of the CPU instruction cache by avoiding caching of less-used code, increasing overall performance. There are many other tricks that PGO uses to make Chrome faster, and they add up to great results.
To explain it in simple terms: PGO analyzes how a test version of Chrome performs and tracks various functions to find out which functions are of high importance and which are not. It then provides those information to the actual build process of the Chrome browser that uses the information to optimize it.
The 64-bit version of Google Chrome for Windows utilizes PGO since version 53, the 32-bit version of Chrome for Windows since version 54.
While the improvement is significant from a statistical point of view, it is unclear if users will notice the improvements unless Chrome's startup, page load time or new tab page load time was significantly slower than the average to begin with.
Now You: Did you notice performance improvements when running Chrome?