Multiprocess Firefox [e10s] (Partial Release: Fx48)

Discussion about official Mozilla Firefox builds
Locked
User avatar
Omega X
Posts: 8225
Joined: October 18th, 2007, 2:38 pm
Location: A Parallel Dimension...

Multiprocess Firefox [e10s] (Partial Release: Fx48)

Post by Omega X »

Multiprocess Firefox [e10s]

Reminder: This feature has been partially released.

Details:
https://wiki.mozilla.org/Electrolysis

Status:
- Release Planned for Fx46 but only for users with addons and a11y features absent. Firefox will auto detect at first start.
- Focus is currently on performance regressions: https://bugzilla.mozilla.org/show_bug.cgi?id=1222849

Known Issues:
https://wiki.mozilla.org/Electrolysis#Known_Issues

Roadmap:
https://wiki.mozilla.org/Electrolysis/Roadmap


Milestones:
M4 bugs: http://is.gd/XKZkQ5
M5 bugs: http://is.gd/7MuzQK
M6 bugs: http://is.gd/yOVr9r (aurora uplift when completed)
M7 bugs: http://is.gd/ckXKll
M8 bugs: http://is.gd/jUNCg5


Blog posts:
FIGHT THE SPINNER: Mike Conely is looking for Gecko Profiler data on long delays that evokes the spinner
http://mikeconley.ca/blog/2015/05/04/el ... r-of-doom/

Bill McCloskey wrote an in depth article on Multiprocess Firefox and is asking for input on the current state of the work:
http://billmccloskey.wordpress.com/2013 ... s-firefox/

Notable Recent Fixes:

- Performance improvements

Notable Older Fixes:

- Anchored popups work
- Underline for e10s Tabs removed
- Drag & Drop works
- Limited Chromium process sandbox enabled
- Some adblock slowness was resolved
- Some slowdown was fixed
- First party cookies are now properly transmitted
- Spell Check works
- Internal PDF reader works
- Click2Play Plugins works

E10s Changelogs:

Burndown Chart
https://people.mozilla.org/~cpeterson/b ... 6+,m7+,m8+

2015
May 18th: viewtopic.php?p=14169833#p14169833
May 11th: viewtopic.php?p=14160545#p14160545
May 4th: viewtopic.php?p=14151587#p14151587
Apr: 27th: viewtopic.php?p=14142095#p14142095
Apr 13th: viewtopic.php?p=14125631#p14125631
Apr 6th: viewtopic.php?p=14114939#p14114939
Mar 30th: viewtopic.php?p=14114939#p14114939
Mar 23rd: viewtopic.php?p=14094413#p14094413
Mar 16th: viewtopic.php?p=14088635#p14088635
Mar 9th : viewtopic.php?p=14073419#p14073419
Mar 2nd: viewtopic.php?p=14063597#p14063597
Feb 23rd: viewtopic.php?p=14051645#p14051645
Feb 16th: viewtopic.php?p=14037047#p14037047
Feb 9th viewtopic.php?p=14025857#p14025857
Feb 2nd: viewtopic.php?p=14015393#p14015393
Jan 26th: viewtopic.php?p=14005931#p14005931
Jan 19th: viewtopic.php?p=13994501#p13994501
Jan 12th: viewtopic.php?p=13984307#p13984307
Jan 5th: viewtopic.php?p=13970531#p13970531

2014
Dec 29th: viewtopic.php?p=13960721#p13960721
Dec 22nd: viewtopic.php?p=13951445#p13951445
Dec 15th: viewtopic.php?p=13940261#p13940261
Dec 8th: viewtopic.php?p=13930949#p13930949
Dec 1st: viewtopic.php?p=13916687#p13916687
Nov 24th: viewtopic.php?p=13903325#p13903325
Nov 17th: viewtopic.php?p=13892471#p13892471
Nov 10th: viewtopic.php?p=13878941#p13878941
Nov 3rd: viewtopic.php?p=13867355#p13867355
Oct 27th: viewtopic.php?p=13854005#p13854005
Oct 20th: viewtopic.php?p=13841777#p13841777
Oct 13th: viewtopic.php?p=13829789#p13829789
Oct 6th: viewtopic.php?p=13816265#p13816265
Sept 29th: viewtopic.php?p=13805519#p13805519
Last edited by Omega X on August 2nd, 2016, 6:38 pm, edited 41 times in total.
User avatar
SnoutSpout
Posts: 389
Joined: August 12th, 2010, 8:54 pm
Location: Some isolated landmass

Re: Multiprocess Firefox [e10s]

Post by SnoutSpout »

Admittedly, it will take some time to optimize the memory usage of multiprocess Firefox.

Elephant in the room. Admittedly Fx users are more sensitive to the issue than the average Chrome user, but I would suggest they wring this out as thoroughly as possible or it may undo all the goodwill the MemShrink work has bought in. (As a general rule of thumb I tend to think the Fx user uses more content tabs than users of other browsers, but this could just be anecdotal bias.) As for addons, the breakage will be massive, but e10s is so important I'm willing to let them at least try and see what the fallout is before judging. If there is some way to isolate the changes to a single config flag that's flipped to default only and only if everything is really ready, even better.
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Multiprocess Firefox [e10s]

Post by patrickjdempsey »

Glad to see they are taking addons support seriously. It doesn't matter HOW amazingly stable or responsive e10s is, if it breaks popular addons then there will be mutiny. ;)
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Multiprocess Firefox [e10s]

Post by patrickjdempsey »

SnoutSpout wrote:
Admittedly, it will take some time to optimize the memory usage of multiprocess Firefox.

Elephant in the room. Admittedly Fx users are more sensitive to the issue than the average Chrome user, but I would suggest they wring this out as thoroughly as possible or it may undo all the goodwill the MemShrink work has bought in.


I think this is the major reason they are sticking with a single Content process model for now. They can get MOST of the benefits of multi-process without ballooning memory. 10Mb for the baseline Content-process is already dramatically better than what Cr does.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
SnoutSpout
Posts: 389
Joined: August 12th, 2010, 8:54 pm
Location: Some isolated landmass

Re: Multiprocess Firefox [e10s]

Post by SnoutSpout »

Communication (and not communication buried on dev blogs) is very important for Electrolysis, even far more than for Aust. Addon devs working on B2G/mobile versions of their own stuff will definitely keep themselves in the loop, but they're vastly in the minority and most addons will probably stay (and always be) desktop only. Early warning and lots and lots of hand-holding will be needed.
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Multiprocess Firefox [e10s]

Post by patrickjdempsey »

B2G/mobile addons stuff is TMK almost entirely being done in the SDK which will automatically support this (it's been built-in from the start). I'm not even sure if mobile even *supports* XPI-style addons?
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
SSweeorgch
Posts: 31
Joined: December 4th, 2013, 9:13 pm

Re: Multiprocess Firefox [e10s]

Post by SSweeorgch »

Bill McCloskey's article links to a Project Wiki.

I think this section is important, if anyone is contemplating testing...

https://wiki.mozilla.org/Electrolysis#What_to_Expect

What doesn't work yet:

Session restore
Developer tools
Many addons
Many plugins
Click to play
Zooming
User avatar
SnoutSpout
Posts: 389
Joined: August 12th, 2010, 8:54 pm
Location: Some isolated landmass

Re: Multiprocess Firefox [e10s]

Post by SnoutSpout »

No XUL on Android, yes. But then again, if the dev is working on the mobile side and isn't planning to abandon his normal addons, he/she at least can't plead ignorance. :D
User avatar
SnoutSpout
Posts: 389
Joined: August 12th, 2010, 8:54 pm
Location: Some isolated landmass

Re: Multiprocess Firefox [e10s]

Post by SnoutSpout »

SSweeorgch wrote:What doesn't work yet:

Session restore
Developer tools
Many addons
Many plugins
Click to play
Zooming

Session Restore (implying a lot of tab management addons) is a dealbreaker for me, but it is very, very early days in the project yet unless we're talking piecemeal bits landing on the main trunk. In the meantime hopefully B2G will provide a representative testbed before most of the big bugs are completed.
RyanVM
Posts: 1264
Joined: June 16th, 2004, 6:00 am
Location: Exton, PA

Re: Multiprocess Firefox [e10s]

Post by RyanVM »

patrickjdempsey wrote:Glad to see they are taking addons support seriously. It doesn't matter HOW amazingly stable or responsive e10s is, if it breaks popular addons then there will be mutiny. ;)

Yeah, Servo is likely to break things badly, and the popular belief is that people will tolerate one major breakage but that more than that will lead to bigger losses.
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Multiprocess Firefox [e10s]

Post by patrickjdempsey »

I was thinking more of in the wake of Australis, which will break popular extensions... at least it will make them "disappear" in a way users might not like. It's taken over 2 years to deliver Australis. e10s is so far 4 years in the making and is I'm guessing still at *minimum* a year out, if not 2. So it's possible that by the time it is finally flipped on the Australis uproar will be over. But Servo is still largely *theoretical* and I'm not even entirely sure Mozilla will still be around by the time it's natural development cycle leads anywhere.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
flaneurb
Posts: 622
Joined: December 10th, 2011, 3:50 am

Re: Multiprocess Firefox [e10s]

Post by flaneurb »

Omega X wrote:I figured since e10s is becoming a sure thing that its time to make a fresh thread.

Bill McCloskey wrote an in depth article on Multiprocess Firefox and is asking for input on the current state of the work:

http://billmccloskey.wordpress.com/2013 ... s-firefox/

Nice link. Thank you for posting it.
User avatar
Grantius
Posts: 1545
Joined: June 28th, 2011, 4:14 pm
Contact:

Re: Multiprocess Firefox [e10s]

Post by Grantius »

I was hoping they would go for a addon-compatible model that supported almost 100% of addons, even if it was a bit slower. Or similar to Chrome where each Jetpack addon uses its own process.

hopefully the addons I use update to use Jetpack so they work.
Micro gaming box: AMD A10-7800 APU, 8gb RAM M350 ITX case (size of a book), Windows 10/Ubuntu
Tablet/Laptop: Asus Transformer T100, Intel Atom 2GB RAM, Windows 10 x86
Mobile:Xiaomi Redmi Note 3 Pro
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Multiprocess Firefox [e10s]

Post by patrickjdempsey »

Grantius wrote:I was hoping they would go for a addon-compatible model that supported almost 100% of addons, even if it was a bit slower. Or similar to Chrome where each Jetpack addon uses its own process.


Not possible. *MANY* XPI extensions directly manipulate the DOM of websites, or fetch data from the web, and manipulate the interface simultaneously. Also, the way that XPI extensions are loaded into Firefox... they are actually loaded as PART OF the interface. You can split out the JS from an extension, but the XUL and XBL bits are loaded just like any other Firefox component. Which is exactly why the Firefox extensions system is the most powerful of any browser. That inter-connectivity and power comes at a price.

Jetpacks are pretty much modelled on Chrome extensions, and were designed from the ground-up to be multi-threaded and multi-process. But they also tend to be very tiny, so what would be the point of having them in their own process? Each Jetpack process would then have to load it's OWN copy of the SDK as overhead, and you would have to have messengers to talk to chrome as well as content... just seems like an incredible waste of resources for no real gain considering that the SDK is limited enough that it's doubtful that Jetpacks will be the source of crashes or slowdowns.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
Grantius
Posts: 1545
Joined: June 28th, 2011, 4:14 pm
Contact:

Re: Multiprocess Firefox [e10s]

Post by Grantius »

patrickjdempsey wrote:
Grantius wrote:I was hoping they would go for a addon-compatible model that supported almost 100% of addons, even if it was a bit slower. Or similar to Chrome where each Jetpack addon uses its own process.


Not possible. *MANY* XPI extensions directly manipulate the DOM of websites, or fetch data from the web, and manipulate the interface simultaneously. Also, the way that XPI extensions are loaded into Firefox... they are actually loaded as PART OF the interface. You can split out the JS from an extension, but the XUL and XBL bits are loaded just like any other Firefox component. Which is exactly why the Firefox extensions system is the most powerful of any browser. That inter-connectivity and power comes at a price.

Jetpacks are pretty much modelled on Chrome extensions, and were designed from the ground-up to be multi-threaded and multi-process. But they also tend to be very tiny, so what would be the point of having them in their own process? Each Jetpack process would then have to load it's OWN copy of the SDK as overhead, and you would have to have messengers to talk to chrome as well as content... just seems like an incredible waste of resources for no real gain considering that the SDK is limited enough that it's doubtful that Jetpacks will be the source of crashes or slowdowns.


Thanks for the explanation. That makes things a ton clearer!
Micro gaming box: AMD A10-7800 APU, 8gb RAM M350 ITX case (size of a book), Windows 10/Ubuntu
Tablet/Laptop: Asus Transformer T100, Intel Atom 2GB RAM, Windows 10 x86
Mobile:Xiaomi Redmi Note 3 Pro
Locked