Hacker News new | past | comments | ask | show | jobs | submit login
[dupe] Firefox 54 goes multi-process, eight years after work began (arstechnica.co.uk)
126 points by agd on June 14, 2017 | hide | past | favorite | 46 comments




One of the reasons the Chrome browser uses one process per tab is so that memory between web-pages is isolated. By doing this, an attacker in control of a renderer process cannot read data from another renderer process (web-page).

It seems like Firefox has made a security / memory tradeoff here since renderer processes can render multiple (4 by default) web-pages at a time.


Chrome doesn't strictly follow the one-process-per-tab rule either. If you browse for a while with a bunch of tabs open, and then check Chrome's Task Manager, you'll see that it's quite common for a single process to render tabs from multiple different domains.


Correction: Firefox doesn't use n content processes which render 4 tabs each. By default, it uses 4 content processes which share the task of rendering your n tabs. (AFAIK, at creation time, each tab is assigned one of those rendering processes.)


> One of the reasons the Chrome browser uses one process per tab

Chrome does not use a process per tab. It uses a process per domain (mostly), unless you middle click a link in which case it always shares the same process as the original tab.


> It uses a process per domain (mostly)

No, that's not quite right. What they do really is closer to proces-per-tab (with some complications around cross-site navigation) unless you have more than some number of tabs, in which case they will just have them share processes. See https://www.chromium.org/developers/design-documents/process... and note that the default is to put multiple "independent" instances of the same site in different processes, even though they're same-domain. What you're describing is the non-default "Process-per-site" model.

> unless you middle click a link in which case it always shares the same process as the original tab

I believe they changed that behavior starting with Chrome 60. See https://codereview.chromium.org/2680353005/ which talks about ctrl-click, but I would assume (watch me turn out to be wrong!) that middle-click takes the same codepath.


They've made efforts to make it more isolated though [1]. It seems like Firefox isn't going in this direction.

[1]: https://www.chromium.org/developers/design-documents/site-is...



Those wanting to quickly disable electrolysis for whatever reason- go to about:config and set browser.tabs.remote.autostart to false.

If you have an incompatible addon, you'll still not be on the multi-process train.

I don't know how to find which add-on is incompatible though (yet)



But is that add-on multiprocessCompatible itself? :-)


Install it and it will tell you!

(Spoiler: it is)


I've given it a try, but macOS's "activity monitor" reports a very high energy consumption, so to me it's a big no (being on a laptop).

I've filled a "feedback" about that within the browser UI…


That's largely true of any browser that isn't Safari on MacOS or Edge on Windows 10.


That's sadly true, but the reported values were pretty high (~45), even when in idle (~15) with a couple of tabs.

At the moment my "sweet spot" is on Opera with the "battery saver" mode.


Was one of the idle tabs Google search results perchance?

There is some deep and dank JS on that page that makes FF loop constantly when 'idle' on that page, at least on Linux. I had to disable JS for google.com so that I could read search results without fan noise.


IIRC, yes. I should check again…


startpage.com thank me later


Now it can end battery life as we know it even faster. (On Mac it pegs CPU multiple times a day and I have to kill it. Never happens with Chrome)


If you could be bothered to read the article, their approach and solution to this problem is detailed the third paragraph. If you don't bother reading, please abstain from asking question that are so clearly answered ...


We detached this subthread from https://news.ycombinator.com/item?id=14552088 and marked it off-topic.


> If you could be bothered to read the article

Steady on there..

From: https://news.ycombinator.com/newsguidelines.html

Please don't insinuate that someone hasn't read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that."


From the HN guidelines:

Please don't insinuate that someone hasn't read an article.


You caught me there. Nowadays I read the comments first before I read the actual post.


And you reply as well, which may the worst offense of the two. Albeit an insignificantly small offense in the grand scheme of things.


[flagged]


this is called design, I suppose.


> In theory, moving to multiple content processes will improve stability and performance (one bad tab won't slow down the rest of your computer)

So starting more processes makes other apps (not firefox) less slow? Are Arstechnica authors at least experienced PC users and know what is process, what is web browser? Do they use IE or Safari because it's default and it's an icon for internet? I wonder how high level of tech incompetence in all these tech press. Just mindless rewording of release notes every time.

Also, regarding that diagram: in fact, multiple Chrome tabs can be handled by single process, you can see it in Chrome's task manager.


I suppose they're including the other tabs in that browser in their definition of "the rest of your computer", which seems very reasonable.


This sounds fantastic and I really can't wait to try it! However, does anyone else find themselves unable to switch away from Chrome due to the slickness? I find the overall design (and especially the design of the tabs) to be far more slick in Chrome than in Firefox. For me, the Firefox interface just feels dated and cluttered compared to the clean experience of Chrome. However, I am very wary of relying on Google for so many things so I'm absolutely going to give this new Firefox version a try.


I am a long time firefox user and i feel that firefox looks better than chrome. So it might just be what you are used to.

Also i am on macOS, maybe firefox doesnt look as good on your platform?


Well, 800 tabs open is business as usual for me, wonder what it will do in this case.

Edit: I get downvoted to oblivion whenever I mention this usecase on HN. Its no different this time but so be it (given the negative karma I have ratched up, I wonder why the thread is even visible. Perhaps because many have commented on it. A new HN UI feature, I suppose).

FF is the only browser that has worked well with this rather unusual usage pattern, so am ever so thankful to Mozilla folks. I do a lot of reading and it seriously helps. For those who are feeling exceptionally trigger happy, its not that unusual an usage pattern if you ask around.


Not 800, but I've had e10s enabled for quite a while and it made the difference between "freezes up regularly" and "completely fine" with hundreds of tabs for me.


I assume you did not open these tabs in a single browsing session. For quite a while, Firefox will not load and render all tabs on session restore, but that happens once you switch to such a tab. Therefore I would guess that these 800 "inactive" tabs will not add that much overhead no matter whether e10s is enabled.


Indeed. No, they accumulate over months. The count fluctuates of course, ~800 is approximately the steady state.

> For quite a while, Firefox will not load and render all tabs on session restore

Absolutely, and this behavior is just fantastic for my use. Not that it crashes often, sometime I deliberately kill it if I need the memory for some analysis I am running.


I abuse tab groups as a sort of generational garbage collector. From time to time I open a new group as my main group. After a while of using it I move all tabs I still require from my old groups over and close them. That way the time required to clean up only scales with tabs I am still interested in.

Although starting a new tab group before going down some rabbit hole is helpful as well. Makes it way easier to close ~30 pages of documentation or whatever.


Thanks for the metaphor, I indeed use tabs as a generational collector.


Just out of curiosity, why would you want to have 800 open tabs? What is your workflow? Do you use tabs as bookmarks? How do you find open tabs?


I'm in much the same boat as srean, I do online research on some subject (new subject every week) and open tabs are my way of remembering what I still need to read and keep notes from. 100's of tabs open is really no exception, especially not for subjects with a large online footprint.

I use the tree-style tabs plug in and scrapbook to keep my sanity.


Yeah they are like a volatile bookmarks with a traversable history and a 'this is very interesting but have to save the reading for later' todo list.

Once you bookmark a link the history-browsing-trajectory is lost. However once I visit a tab often it becomes a bookmark.

There are extensions to organize and search bookmarks.


you may be a fan of tree-style tabs - used to do me well when i used to be on FF - you get a sense of how you got somewhere.

I use vivaldi now - and while i have tabs on the left - i do miss tree-style features.


How do you navigate between your tabs?


If you type something in the Firefox url bar starting with a "% " (percent, then space) the rest of the string will be treated as a search across the titles and urls of your open tabs. This is what I typically use for navigation.


Firefox searches through open tabs by default when you type in the address bar.


You just use omnibus to find it, for me it is a temporary bookmark, once when I did cleanup I had 1000 tabs.


Firefox has a configurable upper limit through setting dom.ipc.processCount in about:config. Firefox 55 might expose this in its preferences.


Tab hoarder myself (got 559 on Firefox 54.0 right now). Its just laziness/skatter-braineded-ness. Cutting it down becomes a chore kinda like cleaning out your inbox.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: