Internet Explorer does it. Chrome does it too. Now Mozilla is trying -- again -- to make Firefox run multiple processes at the same time.
Firefox may offer a lot of competitive features in a tight browser marketplace, but one thing it lacks is the kind of sandboxed, multiprocess architecture under its hood that other browsers have had for years.
Changing to a multiprocess architecture for Firefox would result in numerous benefits, wrote Firefox engineer Bill McCloskey on Thursday, in the three key areas of performance, security, and stability. A multiprocess architecture splits various browser functions into multiple tasks on the computer, instead of bundling them all together as one process for the browser.
Another benefit on the performance front is that much of the work that went into Electrolysis, Mozilla's previous multiprocess attempt, found its way into Firefox OS. It would help, McCloskey wrote, for Firefox OS and Firefox to have backends that function as similarly as possible.
Multiprocess architecture would be safer for Firefox users as well, he said, because it would allow the browser's content processes to be sandboxed. While sandboxing is possible in single-process systems, it doesn't make sense in a browser where add-on and other processes have to regularly access the file system.
"Right now, if someone discovers an exploitable bug in Firefox, they're able to take over users' computers," McCloskey said.
The browser would become more stable as a result of the multiprocess implementation because a process crash would only take down that specific process, not the entire browser.
McCloskey also said that the multiprocess architecture is a long way from reaching the stable version of Firefox. Concerns about keeping the browser's memory footprint small will keep Mozilla from switching to the new architecture until its ready.
"The total memory usage for multiprocess Firefox is only 10 MB greater than single-process Firefox," McCloskey said. "We should be able to shrink this difference with some effort."
Also keeping Firefox from achieving multiprocess architecture are concerns about add-on and plug-in compatibility.
"It's a large project and any predictions at this point [about a release date] would be foolhardy," he said.