NEWS
Say hello to the Faster and better Firefox Quantum
Developers of Mozilla Firefox, the browser that Chrome users forgot, have been pretty busy over the course of past couple of years. Earlier this year, Mozilla enabled multi-process in Firefox browser. This was a result of Electrolysis project that aimed to bring great performance and security improvements. The company has also brought features like WebAssembly and WebVR.
As Mozilla is aiming to completely overhaul Firefox, Electrolysis acted as a setup for something more and bigger. Here, I’m talking about the new Mozilla engine, whose work is being done under the name Project Quantum .
What is Project Quantum? What are its new Features?
Firefox’s Gecko Web engine was designed a long time ago when our computers were mostly single core and the usage of GPU acceleration wasn’t common. Today, things have changed and Firefox needs to step up its game.
On a side note, web engine is the core of a web browser that is responsible for running all the content you receive while browsing the web. The new Firefox Quantum web engine aims to use the modern hardware to the fullest and use the multicore CPUs to deliver a satisfactory performance.
Again, in Mozilla’s words, since the next version number, i.e., 57, “can’t really convey the magnitude of the change,” the new Firefox is being called Firefox Quantum. As Mozilla calls it, the users are expected to experience a “quantum leap” in the performance. One will be able to scroll through the web pages smoothly, the loading will dramatically decrease, and you’ll be able to use complex interactive apps with more fluidity.
How will Mozilla Quantum achieve excellence?
Mozilla laid the foundations of a futuristic and open source web browser that respects your needs with the development of Rust programming language. Compared to C++, which continues to be a major part of Firefox code, Rust imposes certain memory restrictions on programmers for robust programs. Also, Rust code, in most cases, doesn’t compile unless it’s safe.
Mozilla Quantum incorporates some biggest components of Servo, which is a community-based web engine sponsored by Mozilla. Servo is written in Rust. As a result, Firefox will now run by a larger portion of Rust code.
Nowadays, our phones, laptops, and desktops have two, four, or more cores. Moreover, they also feature high-performance GPUs to accelerate rendering and calculations. Keeping this in mind, the major engine components of Gecko are replaced to gain benefits from either parallelization or offloading to the GPU.
A major component of Mozilla Quantum development is a new, super fast CSS engine, Stylo, which is written in Rust. Stylo makes use of multiple threads for applying CSS properties to many elements simultaneously.
Here, the style computations for different DOM cores are split across different cores. In Quantum CSS, this task is simplified using a technique called work stealing.
Another smart change in Firefox Quantum has been implemented to download and run the tab you’re actively using before other tabs in the background.
The other parts of Project Quantum are Quantum Render, Quantum Compositor, Quantum DOM, and Quantum Flow. These sub-projects improve background tab handling, UI optimization, GPU rendering, etc.
Result: 2x speed, 30% less RAM
Mozilla has been running tests on a regular basis and sharing the details on its blog. As a result of the tests carried out, Firefox Quantum performed about 2 times faster than previous versions of Firefox and Google Chrome.
Firefox Quantum (or, Firefox 57) Stable launches on November 14, 2017.