Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Multi-process Firefox project nears completion of first phase

Gregg Keizer | June 9, 2016
After years of work, Mozilla's browser to finally separate UI from content for performance, stability gains.

Mozilla is nearing a production release of a multi-process Firefox, the "largest change we've ever made to Firefox," a company product manager said this week.

"If all goes well in our beta testing, we're about 6 weeks away from shipping the first phase of e10s to Firefox release users with the launch of Firefox 48 on August 2," wrote Asa Dotzler, the product manager in charge of the Firefox roadmap, in a Monday post to his personal blog.

"This is a huge change for Firefox, the largest we've ever shipped," Dotzler added.

Electrolysis, or "e10s" for short, is Mozilla's long-running project to bring multiple processes to Firefox, a fundamental design change that should boost the browser's performance and make it more stable.

Electrolysis harks back to 2009, when Mozilla first began talking about, and working on, a multi-process Firefox.

On the performance side, multiple processes can take advantage of multi-processor systems. Stability is improved as separating rendering from content prevents the browser from crashing when a website or app falls. And when combined with sandboxing, the design can also serve as an anti-hacker obstacle: If attackers manage to exploit a specific page's content or an app, they should not be able to compromise the browser and gain access to the underlying system and files.

Other browsers, including Apple's Safari and Google's Chrome, have implemented multiple processes, albeit in different ways. Safari, for instance, relies on a single process for the rendering engine, then spawns a new process for each tab's content. On the other hand, Chrome assigns a new rendering process, not just the content, to each new tab. As a general rule, the Chrome method uses more device memory than the Safari model.

For the first phase of e10s, Firefox will use just two processes, one to parse pages, a second for all content. Only at some later point will Mozilla press forward on sandboxing each tab and moving to a Chrome-like process-per-tab design.

Mozilla began working on e10s six years ago, but paused the project until mid-2015. Since then, e10s has moved from the roughest nightly builds to, recently, being offered to half of the pool running the beta. With the beta of Firefox 48 -- which has not yet been released -- Mozilla will enable e10s on all customers' copies.

The next step, as Dotzler spelled out, will be to slowly release the multi-process Firefox to the production track, which is slated to ship version 48 on Aug. 2.

At that point, Mozilla will throttle the release so that only 1% immediately receive the redesigned browser. If all goes well, Mozilla will open the throttle so all receive e10s in the following weeks. Mozilla frequently uses this throttling technique to gauge an upgrade's performance or find out if engineering has missed major bugs; only after it's sure that everything is good does it greenlight the upgrade for all.

 

1  2  Next Page 

Sign up for Computerworld eNewsletters.