Chrome 91 offers up to 23% faster performance thanks to these changes

Chrome 91 offers up to 23% faster performance thanks to these changes

Google recently rolled out Chrome 91 on the stable channel. The update introduced a host of changes, including revamped form controls, default desktop mode support on large screen devices, File System Access API improvements, and more. The update also came with a host of performance improvements, and Google has now revealed that the latest update makes Chrome up to 23% faster than the previous release.

In a recent post on the Chromium blog, Chrome Product Manager Thomas Nattestad revealed that Chrome 91 “is now up to 23% faster with the launch of a new Sparkplug compiler and short builtin calls, saving over 17 years of our users’ CPU time each day!” The post explains that Sparkplug is a new JavaScript compiler that “fills the gap between needing to start executing quickly and optimizing the code for maximum performance.”Short builtin calls, on the other hand, optimize “where in memory we put generated code to avoid indirect jumps when calling functions.”

Chrome’s V8 engine features multiple compilers that make different tradeoffs throughout the various phases of executing JavaScript. The new Sparkplug compiler strikes a balance between the engine’s two-tier compiler system — Ignition and Turbofan — to generate native machine code without depending on the information gathered while executing the JavaScript code. Due to this, it “starts executing quickly while still generating relatively fast code,” thereby improving performance.

Short builtins is a new mechanism that aids the V8 engine optimize the location in memory of generated code. “When V8 generates CPU-specific code from JavaScript, it lays that code out in memory. This generated code will frequently call builtin functions, which are small snippets of code for handling common routines –everything from basic operations like adding two variables, to full-fledged functions in the JavaScript standard library. For some CPUs, calling functions that are further away from your generated code can cause CPU-internal optimizations (such as branch prediction logic) to fail. The fix for this is to copy the builtin functions into the same memory region as the generated code,” the post adds. It further notes that this change should improve Chrome’s performance on the Apple M1 chip.

To learn more about these performance upgrades, check out the Chrome V8 blog post.

About author

Pranob Mehrotra
Pranob Mehrotra

A Literature and Linguistics graduate with a keen interest in everything Android. When not writing about tech, Pranob spends most of his time either playing League of Legends or lurking on Reddit.