Firefox has been a single-process web browser for all of its life. This was not much of an issue until Microsoft and Google introduced a multi-process architecture to their browsers.
The idea was to improved the stability and security of the web browser by moving all websites that you open in tabs in the browser into their own process.
As far as stability is concerned, a single tab crash does not necessarily take the whole browser down with it in multi-process browsers. And for security, it ensures that exploits do not get the same level of access as the main browser thread, effectively sandboxing each opened site.
Firefox's E10 project (Electrolysis) was started back in 2009, but was put on hold in 2011 as Mozilla wanted to concentrate resources on projects that yielded a faster return. Projects like Snappy, which aimed to make Firefox more responsive, were a huge success and improved the responsiveness of the browser significantly.
Since the beginning of 2013, a small but dedicated team has been working on bringing a multi-process architecture to the Firefox web browser.
Today, part of it launched in Firefox Nightly. You can enable multi-processes in Firefox right now if you are running the latest Nightly version of the browser.
Note: It is highly recommended to use a new or test profile for that as you cannot take over your open tabs with you. While they are not lost, it makes things more usable if you do. (To regain tabs, simply switch the preference mentioned below to false again).
To enable multi-processes in Firefox do the following
- Type about:config into the web browser's address bar and hit enter.
- Confirm that you will be careful if this is your first time here.
- Search for browser.tabs.remote
- Double-click the preference to set it to true.
- Restart Firefox.
If things turned out well, Firefox should restart and display a single tab in its interface. You will notice that the tab is underlined, which indicates that it is running in its own process.
It needs to be noted that E10 is a work in progress, and that the project has a long way before it is ready to be shipped in Firefox Stable.
If a tab crashes, you get the following error message:
Well, this is embarrassing. We tried to display this Web page, but it is not responding.
For now, basic functionality has been integrated which means that you can use things like navigating, using the url and search bar, context menus, bookmarks and tabs for example. Others may not work yet, like developer tools or saving pages to disks.
As far as addons are concerned, you will notice that some will work without issues, while many won't just yet.
For now, Firefox will continue to use a single content process and not multiple content processes. If you open the Task Manager, you do not see individual firefox.exe processes for each website that is open in the browser like you see when using Chrome. This is a work in progress, and the feature will be implemented eventually.
Memory usage on the other hand is similar to single-process Firefox. The overhead is just 10 Megabytes in comparison, and the developers have stated that they may be able to reduce it further.
That's definitely good news considering that Firefox's excellent memory usage won't inflate because of this feature.
Additional information about the current implementation, and what's in store for the future, are available on Bill's blog.