
Firefox 48 Beta, Release, and E10S - davezatch
https://asadotzler.com/2016/06/06/firefox-48-beta-release-and-e10s/
======
morsch
Notably, it'll remain disabled by default if you're using extensions (pretty
much everybody here who is running Firefox?): _The groups that will have to
wait a bit for E10S account for about half of our release users and include
Windows XP users, users with screen readers, RTL users, and the largest group,
extension users._

You can manually enable it, though[0]: _However, if you want to permanently
opt-in, you can do so with a simple pref change. Just go to about:config and
toggle browser.tabs.remote.autostart to true. On your next restart, e10s
should be active. To verify that it is active, go to about:support and look
for a number higher than 0 in "Multiprocess Windows"._

I didn't realize they had this kind of fine-grained control over A/B-testing
in their Firefox beta population, as Asa puts it: _We have all the knobs._ I
understand where they are coming from, but it feels a bit weird to have a
piece of software running on my computer checking in with a remote server to
enable/disable functionality.

[0]
[https://wiki.mozilla.org/Electrolysis](https://wiki.mozilla.org/Electrolysis)

~~~
wjoe
Any reason why it won't be enabled for people using extensions? This makes me
worry that there's some significant incompatibility with extensions, and that
when they do enable it for everyone, it'll break some of the extensions I use.
I suspect that splitting the UI and content into multiple processes would make
certain things very difficult.

~~~
thristian
It is exactly that. Some extensions (it used to be "many extensions" before
E10S was enabled on the Nightly and Aurora channels) assume that they can call
back and forth between page content and browser chrome, which is easy when
they're all JS objects in the same memory space, but which doesn't work nearly
as well between processes.

It might be worth downloading Firefox Developer Edition (which uses a separate
profile) and installing your usual suite of extensions to check they all still
work.

The only extension I personally know is weird under E10S is "It's All Text",
where the edit button doesn't appear on textareas until you switch to a
different tab and back. Other extensions like uBlock Origin, Tree Style Tabs,
Open In Browser, HTTPS Everywhere, Document Font Toggle all work fine.

~~~
zeemonkee3
How about vimperator? Vimfx is OK as a stop-gap but that's one extension I
wouldn't want to lose permanently.

~~~
cpeterso
Here is the Firefox bug report for Vimperator don't working with e10s:

[https://bugzilla.mozilla.org/show_bug.cgi?id=1100918](https://bugzilla.mozilla.org/show_bug.cgi?id=1100918)

The Vimperator developers are working on it here:

[https://github.com/vimperator/vimperator-
labs/issues/211](https://github.com/vimperator/vimperator-labs/issues/211)

------
darklajid
Is E10S going to replace the current model? I mean - is the plan to drop the
choice when E10S is stable/works for all known scenarios?

I'm asking because I might have a bit of a problem with my tab addiction (my
phone regularly reaches 60+, my laptop or desktop probable sit around 2-3
times that for weeks at a time) and I don't think that'll translate well into
a process-per-tab model.

Yes, I know about bookmarks, read-later tools and that this isn't the
healthiest habit.

~~~
dr_zoidberg
When they first announced this model I ended up in the group that had this
"feature" enabled. It was completely useless. I was almost about to change the
browser for Chrome because I could barely broswe a few minutes before it
crashed due to excessive CPU and memory usage. And then I got another update
which reverted back to the old single process architecture.

If it's as messed up as it was back then, it looks like I'll be having to
switch broswer. I have a similar usage pattern as yours, with the added
disadvantage that I group my tabs in windows, and every window seems to carry
a big overhead.

Btw, I'm not "memory constrained", I always have 2 to 5 GB free memory, but
once the firefox process is over 1,5 GB then trouble begins, at 2 GB it's
about to crash, and over that it can sometimes survive as large as 2,5 GB, but
I've never seen it use more -- it always crashes before reaching 3 GB.

~~~
sp332
It has improved dramatically since then. I'm not saying it's perfect, but I
think you should give it another shot instead of complaining about how bad it
used to be.

~~~
dr_zoidberg
I'm still using Firefox, just dread the day this feature comes back. It is now
disabled in my settings, I just wish they make it optional instead of
mandatory, because for my use case it brings serious stability issues.

~~~
agumonkey
I remember that phase, it was below-alpha quality. It's now okay, no fear to
have, only some occasional hiccups like asynchronous errors (click somewhere
at time T, click action triggered regarding the element at time T+x).

------
sonnyp
There are interesting data and comparisons without E10S on
[https://wiki.mozilla.org/Electrolysis/Release_Criteria](https://wiki.mozilla.org/Electrolysis/Release_Criteria)
and [http://www.erahm.org/2016/02/11/memory-usage-of-firefox-
with...](http://www.erahm.org/2016/02/11/memory-usage-of-firefox-
with-e10s-enabled/)

------
gear54rus
People blame chrome for being memory hog and it's probably exactly for this
reason. I fully expect mem usage to go up for E10S release as well... As a
daily FF user both at work and at home, I'm not sure if that's a good thing.

~~~
wjoe
Most people still claim Firefox is a memory hog, but from my observations
Chrome uses a lot more from it's one process-per-tab model compared to
Firefox's single process for many tabs. It might not be significant for a
small number of tabs, but as someone who frequently has 50 tabs open (I know,
I have a problem), I'm concerned at how much this could increase things.

That said, memory usage isn't my biggest concern, I generally have no shortage
of memory, and don't particularly care if my browser is using 1GB of RAM. If
this improves stability and performance (which seems to have gotten much worse
recently on OS X in particular), then it's a fair trade off.

~~~
snuxoll
> but as someone who frequently has 50 tabs open (I know, I have a problem)

How do people get work done WITHOUT having 50 tabs open? It's a pretty regular
occurrence for me, between having MSDN, the PostgreSQL handbook, documentation
for a half dozen libraries, my "read later" list, etc., there's almost never a
day I am not drowning in tabs. Thankfully, the Tree-Style Tabs extension saves
the day here!

~~~
gear54rus
I don't know why people do that. Having 50 of them open does not increase your
brain processing capacity, you probably still work with like 10 at maximum. My
day typically consists of 6-7 pinned ones and 10 tops dynamic. As a rule, if
the tabs reach the end of 1920x1080 screen, it's time to close something :) No
tree-style required.

~~~
snuxoll
I am normally flipping between groups of them over the course of 15 minutes, I
may not touch them all within the same window of time but they all have a
purpose - and beyond that the tree helps me keep track of my thought process
as I typically open most links in a new tab, so I can see the hierarchy I am
working with.

------
mp3geek
The main issue I find with E10s (nightly user here), is on some heavy sites
which requires firefox to load on a specific tab, will often get the dreaded
"swirl arrow reload" animation on other open tabs until the site is loaded.

~~~
whoisthemachine
FWIW, I use multiple processes (the number of cores * 2 + 1, it's a magical
number I grabbed from somewhere), and get that far less frequently.

~~~
wldcordeiro
Is that number of physical cores? Or would you use 8 with an i7?

~~~
whoisthemachine
I guess I use full number of logical cores

------
airnomad
My biggest issue with FF is Firebug - it just can't compete with Chrome dev
tools. On the other hand, FF has one huge advantage - Pentadactyl.

~~~
jobigoud
Does Firebug has anything over the built-in FF dev tools at this point?

~~~
johnp_
The built-in dev tools have improved drastically in the latest versions of
Firefox and that's also why
[Firebug.next]([https://getfirebug.com/downloads](https://getfirebug.com/downloads))
(aka Firebug 3) isn't a standalone panel any more, but is integrated with and
built upon the native dev tools.

------
DavidWanjiru
This is not important, but how did they arrive at "E10S" when they went about
shortening "electrolysis"? Anybody know?

~~~
nubs
It's similar to the naming convention used by other long, hard-to-spell words
for projects. First letter of word, number of letters in the middle, last
letter of word.

e10s = electrolysis

i18n = internationalization

l10n = localization

k8s = kubernetes

~~~
BuckRogers
Interesting. I really dislike that though as I prefer to just learn how to
spell the word instead and probably even more mental acrobatics involved. I
can see the usage for a product codename to differentiate electrolysis from
codename:e10s.

------
sp332
Could someone running e10s load up newegg.com and see if it freezes the
browser for about 30 seconds? Separating processes is supposed to mean that
chrome stays responsive, but that hasn't been my experience with it.

~~~
nprescott
Loaded 2,875KB over 107 requests in 168 seconds and no visible freezing on
newegg.com with e10s enabled.

~~~
sp332
So just me then :( I've tried it on two machines, with and without extensions
installed. On my poor laptop it locked up for over a minute.

~~~
epmatsw
R/Firefox is doing a performance AMA today, asking/helping people to run a
profiler extension while hitting flows that cause sluggishness. You should
stop by and see if they can help you out and get a bug report started.

------
fauigerzigerk
I'm trying Firefox about once a year because I want to like it for being
independent and privacy minded. But every time I find myself going back to
other browsers for seemingly minor reasons.

The most important one is that firefox opens new windows a few hundered
milliseconds too slowly (on Mac OS X). Just a little bit too slowly for me to
just hit Cmd+N and blindly start typing a url. I have to stop and pay
attention to when the window is ready, hundereds of times a day.

Another annoyance, a much less important one, is that Firefox wastes a lot of
screen real estate at the top.

~~~
joelthelion
You open new _windows_ hundreds of times a day?

~~~
fauigerzigerk
Yes

~~~
joelthelion
Can you explain why? I'm genuinely curious.

~~~
fauigerzigerk
The primary reason is that I search for everything instead of navigating to it
on individual websites. That includes function signatures and other API stuff
I need all day long.

And I don't keep windows or tabs open because they are hard to find again and
start to pile up. So I open and close them a lot.

I don't use the bookmarks menu directly. I just open a new window and start
typing. Either the page I'm looking for is in the auto complete or I hit enter
and it goes to the search engine.

To sum it up, I have trouble remembering hierarchies and various navigation
and UX ideas that web designers come up with. I have trouble visually grasping
what's on a page (it's a kind of disability I always had). So instead I
search.

In fact, that's also one of the great things about Firefox. Typing in its
location bar lets me find other open windows and tabs. I love that.

~~~
the8472
> Typing in its location bar lets me find other open windows and tabs. I love
> that.

Prefix with % and it will return only that kind of result.

------
sumanthvepa
Wonder what happens when the ui process crashes with the backend process still
running? Or vice versa? It seems like killing Firefox just became a whole lot
more difficult.

~~~
kristofferR
I just tried - the "Firefox Web Content" process was automatically killed
quickly after the "Firefox" process was killed. No surprise there, it would be
weird if they hadn't considered that scenario.

If the "Web Content" process is killed while the main Firefox process is
running, Firefox asks if you want to restore the tabs - which is half the
point of e10s.

"killall firefox" would be easy to do anyway.

------
ritonlajoie
Since a couple of years I can't use firefox anymore with the usual must have
privacy extensions. It's super slow and laggy compared to chrome ;( I wish I
would use firefox but I can't see it freeze completely everytime I click on a
link.

~~~
scholia
Firefox got to be much better a couple of years ago. In my experience, it's
generally equal to or better than Chrome.

------
shmerl
Will it be enabled on Linux too?

~~~
asadotzler
Yes.

~~~
shmerl
Good, thanks!

------
hacker42
I am still patiently waiting until unloaded tabs have a memory footprint of
0KB instead of 0.7MB.

~~~
epmatsw
Serious question, why does that matter? If you've got a thousand tabs open,
that's 700mb, or roughly 4% of your (probably) 16gb of memory. Why worry?

~~~
hacker42
I have a pretty old machine without memory upgrade options. Of course, it
would not be an issue on a machine with 16 GB. I've been following the bugs
with tab-related memory and perf issues for quite a while, but maybe you are
right that Moore's Law fixed them by now and I should upgrade.

------
bobsgame
This is great. I've been using Firefox since Phoenix and it only continues
getting better!

------
mtgx
Sounds like even though it's been delayed for years, Electrolysis is still not
anywhere close to being ready for prime time. And it's not even a full process
sandbox. How many more years are we going to wait for that?

------
danilocesar
That sounds awesome!!! 7-years-late awesome, but still great news!

------
whoisthemachine
Congrats!

------
zxcvcxz
>Splitting UI from content means that when a web page is devouring your
computer’s processor, your tabs and buttons and menus won’t lock up too.

Finally. Every browser I use does this when I load a huge reddit thread while
RES in enabled.

------
izzle49
Tried it, still not as responsive as chrome

~~~
sammoth
In what way?

~~~
izzle49
hangs on js intensive pages, like jira

------
piotrjurkiewicz
> Splitting UI from content means that when a web page is devouring your
> computer’s processor, your tabs and buttons and menus won’t lock up too.

Well, for that particular problem, there is a much simpler solution than
splitting application into two distinct processes. It's called multithreading.
Moving UI into a separate thread would not only be simpler than moving it into
a separate process, but also wouldn't result in 20-50% memory usage growth.

~~~
deprave
That's what they're doing now and it's the problem, not the solution.

Multiple threads run in the same process address space. This creates security
and stability issues. One website can affect the complete experience. That's
exactly the problem they're trying to solve, the same way Chrome did, by using
multiple processes. That way, for example, when one process misbehaves and
gobbles up too much memory, the OS won't kill the entire browser but just the
offending tab. (The OS won't kill individual threads.)

~~~
piotrjurkiewicz
The author justifies introduction of e10s using an example of inter-tab CPU
contention. Yes, this is a real problem, I experience it using Firefox. But
for that particular issue, a sufficient solution is multithreading.

As you wrote, separating each tab into a different process will bring security
and stability benefits. But blog post author does not mention any of them. The
only justification for e10s he brings up is CPU-UI blocking problem (which is
not a justification for e10s at all, because it can be solved with
multithreading).

And there is a reason why he doesn't mention security and stability benefits:
They do not plan [1] (at least for now) separating each tab into a different
process. All tabs will still share the same content process. This means that
e10s would not bring any security and stability benefits you wrote about.

So one may ask: what's the point in introduction of e10s at all? I ask myself
this question as well, not only regarding e10s, but also many other Mozilla
decisions from last few years.

[1]:
[https://wiki.mozilla.org/Electrolysis/Multiple_content_proce...](https://wiki.mozilla.org/Electrolysis/Multiple_content_processes)

~~~
deprave
Have you ever seen the source base of a browser like Firefox or Chrome? You
must do small incremental improvements if you want your software to continue
to work. The hardest part is disentangling everything from a single process
architecture to multiprocess. That's what they're doing now. Switching from a
single content process to multiple content processes is significantly easier.

I don't understand how you conclude that "they do not plan separating each to
into a different process" from the link you posted given it opens with "After
e10s is enabled for all users, the next step is to introduce multiple content
processes." To answer your question, then, the point of introducing e10s is to
make it easier to switch from a single process to multiprocess architecture.

~~~
piotrjurkiewicz
Yes, but few lines below they wrote: "The (practically) unlimited process
count is on some platforms not a realistic goal, and having a separate process
for each open site instances or even sites does not seem like a reachable goal
(for now at least)."

So per-tab content processes (which btw is the only way e10s can result in
security and stability benefits) is not a realistic goal for them.

~~~
deprave
Technically speaking, it's a lot easier to do a separate process per tab, and
let things crash just like any other running process. If they don't stop there
and try to actually manage processes by themselves according to some messed up
logic, then yes, I agree with you that there's no point to e10s and probably
Mozilla.

~~~
the8472
> and let things crash just like any other running process

People always say that as if crashes would be a regular thing happening every
few minutes. I don't experience browser crashes for days, so I find it kind of
odd that such a relatively rare failure case is considered a good
justification for using a process per tab.

~~~
scholia
I stopped using Chrome a couple of years ago because of multiple crashes per
day. The browser itself didn't crash, but individual tabs did. Or else Chrome
tabs failed to load (giving just a pale blue background) presumably because it
had run out of RAM.

I used OneTab for a while, to reduce memory use, but still found Firefox more
efficient and more stable with hundreds of tabs, mainly because the vast
majority weren't actually loaded until I needed them.

It's not hard to crash Firefox -- just keep loading an infinite page of gifs
etc. But once you know that, you don't do it.

Under normal working conditions, I agree: none of the main browsers crashes
often enough for it to be a problem.

