[German]Google’s developers decided to disable the memory optimization (RAM allocation) feature for Windows 10 version 2004, which should be built into the M85 development branch of the Chromium browser. The reason: this optimization led to performance losses of between 10 percent and 13 percent more CPU power consumption.
The Google Chrome browser and all Chromium-based browsers are known by users for its RAM consumption. This should have been changed soon, at least for the Windows 10 May 2020 update (version 2004).
RAM optimization in Windows 10 2004
As part of the Reunion project, which brought together Win32 applications and UWP apps for developers, Microsoft has also introduced a new segment heap API. Applications can use this new API to optimize and reduce memory usage compared to the previous legacy heap.
InIn a blog post Improving Memory Usage in Microsoft Edge, Kim Denny, Microsoft Program Manager for Edge, revealed some details in mid-June 2020. In the case of the chromium-based Edge browser, the new API led to a reduction of up to 27% in the browser’s memory usage in laboratory tests. Since everything is based on the Chromium project, the memory reduction under Windows 10 version 2004 applies to all Chromium-based browsers like Google Chrome, Vivaldi etc., and not only to the Edge browser.
The price for optimization: losses up to 13 performance
However, an Intel engineer, who took a closer look at the whole thing, noticed that this memory optimization was bought at the price of a sometimes drastic loss of CPU performance. The discussion is in the Chromium Bug List in Thread Issue 1102281: Performance regression with Windows segment heap. There, the person concerned states that he has noticed the following performance losses in benchmarks for an Intel i9-9900K processor
- Speedometer2.0: ~ -5%
- WebXPRT3: ~-5.8%
- JetStream2: ~-6.2%
This is the result of using the new segment heap API under Windows 10 version 2004. ZDNet took it up in this article and reported performance losses between 10% (performance loss in the speedometer 2.0 benchmark) and 13% increased CPU power consumption, which Google determined in laboratory tests.
Chromium developers pull the rip cord
Techdows then noticed that the Chromium developers have announced to disable the RAM optimization feature using the Segment Heap API on Windows 10 version 2004 in the Chromium development branch M85.
Bruce Dawson from the Chromium development team goes into some details in this post. For example, he mentions that the chromium build in question contains some optimizations that make it difficult to interpret various test results – after the introduction of various measures. Dawson wrote:
Although I’ve heard encouraging things from lab tests about memory savings, I don’t see any way to keep this enabled until we have clean telemetry data and lab tests for 20H1, which will not happen in time for M85.
So the plan is to turn this off for M85 (which will give us another telemetry data point) and rethink this in the future.
So the memory optimization is not off the records forever – but the impact is so huge that the chromium developers now had to pull the feature.
Microsoft wants to improve
A Microsoft Edge developer points out in the above-mentioned post that it is common practice to swap one resource for another. More often it is increased memory consumption, accompanied by reduced CPU usage, which is chosen as optimization criterion. In this case, the reduction of memory consumption simply results in increased CPU performance.
In the short term, Microsoft developers see the deactivation of the function in the M85 development branch as ‘a good compromise’ and are investigating whether the performance of the segment heap can be improved. However, according to Microsoft, reducing the “segment heap” API-related CPU performance increase would require “significant changes to the browser’s entire code base”. Chances are therefore good that the memory optimization feature will eventually return to the Chromium browsers.