Firefox and Multithreading – its Here

1The Wraps are Off

After eight years of work, Mozilla just took the wraps off its multi-threaded rendering engine and declared it ready for the general public to use. The new Firefox 54 is capable of using multiple threads simultaneously– a major step forward for the browser. In a new Medium post, Mozilla’s Ryan Pollack discusses how the multithreaded engine works and what advantages and differences Mozilla brings to the table compared with Google Chrome.

The post is written to be easily understood, and starts off by explaining the difference between a process (the instance of a program being executed) and a thread (generally defined as the smallest sequence of programmed instructions that can be managed independently by a scheduler).

Years ago, Mozilla made a fateful decision about the future of Firefox development– one that made it much more difficult to integrate multiprocessing into the existing browser. Mozilla therefore committed to transitioning away from its old add-on model and towards multi-browser web extension support, while simultaneously launching the Electrolysis project to create a new browser version that could support a multi-processing architecture.

Last year, the company launched the first phase of Electrolysis, by splitting its UI and its web page content to run in two different processes. With the release of Firefox 54, Mozilla has completed its transition to a multithreaded uarch.