Opera Browsers are set to receive major improvements with reduced memory consumption. The company has added heap compaction technology in the latest builds of Opera Beta. The clean-up phase feautre speeds up browsing and lowers memory use significantly.
Daniel Bratell, a member of the Opera team made the announcement and explained how heap compaction works.
“To put it simply, if you insert plates of different sizes haphazardly into a cupboard, it will be hard to use all the available space. If you stack them orderly, it will be more efficient, but it will also take more time to do so. And, since we put the plates (i.e., memory) in and remove them from the cupboard all the time, we unfortunately can't spend much time on making it look pretty.
The same thing happens with the memory management. To solve this, we have added a cleanup phase to the “plate” management inside Blink, which we call heap compaction. It reorders the memory to make use less RAM, make the future memory operations faster … and look pretty, too.”
How much memory can be spared?
The developers also conducted a research to discover how heap compaction translates into memory savings.
This involved visiting several popular websites, such as Wikipedia and NYTimes.com, as well as doing some occasional same site navigation and interactions with the content. After approximately 15 minutes, they sampled the total heap size for the compactable sub-heaps.
As a result, heap compaction decreased Blink heap size significantly. The memory used by Gmail went down from 6.8MB to 2.3MB, for the New York Times from 9MB to 4MB, on amazon.com from 5.7MB to 2.5MB, and Wikipedia from 4MB to 2.4MB. This will naturally translate into better general laptop performance.
Heap compaction was first unveiled in a beta version of Opera 39. The company also plans to upstream this technology into Blink project so that other Blink-based browsers can also take advantage of reduced memory consumption. Opera also states that their engineers have already partnered with their Google counterparts to reduce the memory use of the rendering engine Blink.