Mozilla adds multiprocessing with Electrolysis in Firefox 54
Four Cylinders
Developers are praising Firefox 54 as the "best Firefox ever." The revamped web browser adds multiprocessing and promises a significant boost in speed.
In the mid-1990s, Netscape Navigator was the leading web browser, but when Microsoft decided to bundle Internet Explorer (IE) with the Windows operating system, the tide began to turn. After years of competition (and litigation), Redmond lost the antitrust case, but won the browser war. At its peak, IE had an 80 percent share of the browser market. But the Mozilla project, which was built from remnants of Netscape, bounced back with Firefox. The Firefox browser has had a long and glorious run, attracting up to 48 percent of the market at its peak, including many Windows users who opted for Firefox because they just liked it better than IE [1].
Firefox's fortunes have waned in recent years. Chrome has emerged as the leading third-party browser alternative, with Firefox market share falling somewhere in the range of 11 to 14 percent. Part of the change is the ordinary dynamics of the software development lifecycle. An application is designed for the time in which it is built, with state-of-the-art programming techniques and implicit assumptions about the state of available hardware. As the world changes, the software continues to receive updates, but a large-scale overhaul is never easy midstream, especially for an application with millions of users.
Chrome was built later and isn't showing the same signs of age. IE is definitely aging, but Microsoft solved the problem by replacing IE with a whole new browser – the Microsoft Edge browser, which debuted with Windows 10.
Chrome and Edge distribute the computing work when rendering a web page over multiple processes. On a modern system, this approach should result in increased performance, stability, and security. The Mozilla developers knew they needed this multiprocessing capability to stay relevant for the next generation. The result of this effort is the Electrolysis project [2], also called Multiprocess Firefox [3]. At least one of the developers involved with the Electrolysis project has called the newly released Firefox 54 [4] with Electrolysis support "the best Firefox ever" [5].
Multiprocess Firefox
With Firefox e10s (the abbreviation for Electrolysis) each tab and the interface need to run in a separate process (Figure 1). This promises faster load times, as well as greater security and stability. All tabs work independently: If a corrupted web page crashes, only the corresponding process and the associated tab will pend. All other web pages and the browser itself continue to operate unhindered.
With Firefox 54, Mozilla automatically activates Electrolysis for the user for the first time – but only for those not using add-ons. Previously, this was only possible with the developer's "nightly" version. As a user, you will not initially be aware of the change. To start, the new Firefox version looks and feels the same as the previous browser editions.
To see if Electrolysis is active, go to the Troubleshooting Information page (click the hamburger menu, then ? | Troubleshooting Information) and enter about:support in the address bar. If the field that follows Multiprocess Windows shows 1/1 (Enabled by default), Firefox uses several processes (Figure 2). The 1/1 stands for the number of Firefox windows currently open.
Firefox logically separates the individual tabs from one another with Electrolysis plugins, so a number of popular extensions block the function. In the past, this included NoScript [7], for example. Recently, most add-on developers have responded and updated their applications accordingly. However, various browser add-ons in the Mozilla extensions shop still have not fixed this problem. If you use one of these add-ons, the corresponding field in about:config will only show 0/1 (disabled by add-ons).
Incompatibilities
In such cases, you need to disable the incompatible add-on. The easiest way to find the culprit is via the Add-on Compatibility Reporter [8], which adds an additional column in the extension overview under about:addons. Beside each entry is Compatible with multiprocess or Not compatible with multiprocess.
Ubuntu's automatically preinstalled Ubuntu Modifications (Figure 3) is a typical example of an incompatible add-on. To activate e10s in Ubuntu 17.04, you first need to disable this add-on or force-activate Multiprocess Firefox through configuration (see the "On Command" box).
On Command
Traditional add-ons are on the way out at Mozilla – Firefox developers are planning to switch completely to WebExtensions [9] with version 57. Using this browser API makes it possible to develop add-ons with relatively little overhead for all popular browsers (Firefox, Chrome, Edge). Classic extensions often can't cope with Multiprocess Firefox; therefore, browsers don't activate this function if they encounter an incompatible extension. You are then faced with the choice of continuing to use a beloved add-on or Multiprocess Firefox. As a way out, you can force e10s active in about:config. There, you can right-click and choose New | Boolean, name it browser.tabs.remote.force-enable, and select true as the value. A reboot then forcibly enables Multiprocess Firefox. In case of problems, you should do without the extension in question – or even e10s.
However, Firefox 54 still does not necessarily use multiple processes. You need to change the about:config dom.ipc.processCount option in the configuration database. A 1 is usual, and any value greater than 1 stands for another Firefox process that the browser launches as required. Mozilla recommends a maximum value of 4 because the memory consumption increases with each process – too many processes hardly offers any more advantages (Figure 4). The System Monitor shows the individual processes (Figure 5). Alternatively,
pgrep -c -f firefox
provides the number of processes launched by Firefox (plus one for the interface).
Always Responsive
However, the performance values between Firefox 53 and Firefox 54 only changed marginally in a test over several benchmarks (see Table 1). The difference is rather striking in practice: When I opened Firefox 53 without e10s (see the "Switched Off" box) and launched the JetStream [10] JavaScript benchmark in two browser windows, it was no longer possible to run Firefox on the test computer. Other web pages would no longer load, and the interface froze.
Switched Off
During the test, Multiprocess Firefox proved to be subjectively less stable than the conventional Firefox. Crashes often occurred when loading several web pages that used JavaScript extensively (e.g., the browser benchmarks). Thanks to e10s, crashes don't affect the whole browser, but they often cause so much interruption that you'll want to disable Electrolysis. To do so, open about:config and set the browser.tabs.remote.autostart option from true or false. Firefox only uses one process after a reboot.
Table 1
Performance Comparison
Benchmark | Firefox 53 | Firefox 54 | Chrome 59 | Opera 45.0 |
---|---|---|---|---|
JetStream 1.1 |
142.7 |
141.0 |
315.8 |
223.1 |
SunSpider 1.0.21 |
297.7 |
259.3 |
315.8 |
223.1 |
Peacekeeper [1] |
4447.3 |
5764.7 |
4385.7 |
3853 |
Higher values are better.[1] Benchmark is no longer maintained. |
However, with Firefox 54 and Electrolysis activated, it was possible to run the browser without impairments, even with two or more benchmarks running. In this case, the results of the performance measurements might have been slightly poorer than those of Firefox without e10s, but in practice, I can deal with this in favor of an interface that is easy to use. In everyday testing, the new fluidity particularly stands out with power-hungry websites such as Firefox or Google+.
Firefox keeps limits memory consumption. Measurements by Mozilla developers showed that Firefox in Linux hogs less memory than Chrome [11]. The same applies to Firefox in Mac OS X and Windows. The current Firefox is therefore only topped by IE. However, Microsoft's current Edge browser uses significantly more memory. Firefox is therefore a possible alternative to Chrome, particularly on systems with little memory.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.
-
Gnome OS Transitioning Toward a General-Purpose Distro
If you're looking for the perfectly vanilla take on the Gnome desktop, Gnome OS might be for you.
-
Fedora 41 Released with New Features
If you're a Fedora fan or just looking for a Linux distribution to help you migrate from Windows, Fedora 41 might be just the ticket.
-
AlmaLinux OS Kitten 10 Gives Power Users a Sneak Preview
If you're looking to kick the tires of AlmaLinux's upstream version, the developers have a purrfect solution.
-
Gnome 47.1 Released with a Few Fixes
The latest release of the Gnome desktop is all about fixing a few nagging issues and not about bringing new features into the mix.
-
System76 Unveils an Ampere-Powered Thelio Desktop
If you're looking for a new desktop system for developing autonomous driving and software-defined vehicle solutions. System76 has you covered.
-
VirtualBox 7.1.4 Includes Initial Support for Linux kernel 6.12
The latest version of VirtualBox has arrived and it not only adds initial support for kernel 6.12 but another feature that will make using the virtual machine tool much easier.
-
New Slimbook EVO with Raw AMD Ryzen Power
If you're looking for serious power in a 14" ultrabook that is powered by Linux, Slimbook has just the thing for you.
-
The Gnome Foundation Struggling to Stay Afloat
The foundation behind the Gnome desktop environment is having to go through some serious belt-tightening due to continued financial problems.
-
Thousands of Linux Servers Infected with Stealth Malware Since 2021
Perfctl is capable of remaining undetected, which makes it dangerous and hard to mitigate.