Biz & IT —

Firefox 54 finally goes multiprocess, eight years after work began

Firefox's multiple content processes don't suck up as much RAM as Chrome, says Mozilla.

Firefox 54 finally goes multiprocess, eight years after work began
Mozilla

Firefox has finally been outfitted with simultaneous multiple content processes, a UI process, and a GPU acceleration process—eight years after the project, codenamed Electrolysis (E10S), began. Mozilla is calling Firefox 54 "the best Firefox ever," and it's probably not wrong (though Firefox 3.5 was pretty good, in my opinion).

In theory, moving to multiple content processes will improve stability and performance (one bad tab won't slow down the rest of your computer). Electrolysis is also a prerequisite for full security sandboxing in Firefox, which is currently only available for a few media-decoding plug-ins such as Flash.

The trade-off with multiple processes, though, is memory overhead, because each process contains an instance of the browser's rendering engine. Mozilla says it has worked hard to avoid increased memory consumption, but as a result you only get four content processes by default. Apparently that's the sweet spot between using too much RAM while still taking full advantage of multi-core CPUs. If you want to be more (or less) aggressive, you can visit about:config and tweak dom.ipc.processCount. By default Google Chrome starts a new process for every tab, which is one of the reasons it's such a memory hog.

In some brief testing, Firefox 54 does indeed feel a little quicker than before and consumes less memory than Chrome for the same set of tabs. Your mileage will probably vary depending on your browsing habits and how big your pool of RAM is, though.

If you open up task manager (or activity monitor) after installing Firefox 54 and don't see more than two Firefox processes, you need to manually change dom.ipc.processCount to a number higher than 1. (Presumably you want to match your CPU's physical or logical core count.) You also can't use multiple content processes if you have an add-on enabled that doesn't support it.

For more details on Firefox's approach to multiple content processes, Mozilla's Ryan Pollock has an informative blog post.

A fairly non-scientific graph illustrating comparable memory usage for Firefox 54 vs. other browsers. Our own brief testing lines up with these figures.
Enlarge / A fairly non-scientific graph illustrating comparable memory usage for Firefox 54 vs. other browsers. Our own brief testing lines up with these figures.
Mozilla

In addition to multiple content processes, Firefox 54 also includes some new WebExtension APIs—hooks that allow for add-ons that work across multiple browsers. For example, the Chrome version of Vue.js devtools now works in Firefox without any modifications. In November, when Firefox 57 is released, Firefox will only support add-ons that use WebExtension APIs; everything else is going away, including Firefox's original XUL overlay add-ons.

Finally, with the release of Firefox 54, Mozilla has shut down the Aurora release channel. Instead of a four-stage release pipeline (Nightly, Aurora, Beta, Stable), Firefox will now jump straight from Nightly to Beta. This will hopefully speed up the arrival of new features so that Firefox remains competitive.

Download Firefox 54: Windows 32-bit, 64-bit / Linux 32-bit, 64-bit / macOS. Read the full release notes.

Now read Firefox and Edge are having their foundations updated without anyone noticing...

Channel Ars Technica