It’s no secret that Chrome became the most RAM-hungry browser after it started to pick up steam and increased its user base, but it has come leaps and bounds from what it used to be. That trend continues with its latest update. M89 introduces several improvements to memory management and performance on Desktop Windows and macOS (and soon to Linux!)
With this release, the development team dug deep and inspected how Chrome allocates and discards memory, and even how they build, package, and run the browser. They’ve created up to 22% in memory savings on Windows via the browser process alone, 8% in the renderer, and 3% in the GPU. In total, they’ve improved the responsiveness by up to 9%. For one single update, that’s a large percentage!
Chrome also reclaims up to 100MiB per tab now, which is more than 20% of some websites. They do this by discarding memory that the foreground tab isn’t using, like things that you scroll past on screen that no longer need to be loaded in. On macOS, the developers have noticed an 8% memory savings in background tabs, which is more than 1GiB in some cases – woah. Lastly, with tab throttling for background tabs, which was introduced back in Chrome 87, improvements as high as 65% on Apple Energy Impact score have been observed.
These readings are significant, and are primarily thanks to something called PartitionAlloc – a memory allocator that allows the browser to start faster, load pages quicker, and better manage RAM. How is this even possible though? Well, since each memory partition is kept separate and protected from the others, this generally causes some fragmentation. So, since each partition contains multiple of what are called ‘buckets’ and those buckets contain memory objects that are similar to one another in size, PartitionAlloc does its best to align object allocation with the closest bucket size. In English, lower levels of fragmentation is the direct result of an improved memory footprint!
Google has been working on it for over a year now, and it’s finally rolled out to the big two operating systems. Unfortunately, it’s still experiencing severe issues on Linux, but the Chromium team is working hard to roll it out there as well. Overall, PartitionAlloc is an incredible development that brings some of the most significant memory management tactics to the browser in a long time. It’s no doubt that Chromium Edge will also benefit from this, but with all of its recently implemented innovative and unique features, I’m excited to continue using Google Chrome on my Windows desktop, only with less slow down.