12 ms·
Multiprocess Firefox
- KAdot 11y agoNew multiprocess mode is a big pain for add-on developers. More details https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox https://developer.mozilla.org/en-US/Add-ons/Working_with_mul...
- zapt02 11y agoFinally some movement on this! It really feels like an inferior experience in 2015 when your browser freezes from an unresponsive javascript in another tab.
- mbrubeck 11y agoCurrently, Firefox Nightly uses one process for the browser UI and a separate process for web content. However, one web content process is shared by all tabs. So slow JavaScript in one tab won't block the browser UI, but it will block web content in other tabs. You can change this by increasing the "dom.ipc.processCount" preference in about:config, but there are still some known bugs with multiple content processes in desktop Firefox. There will be more work on multiple content processes in the future.
- nly 11y agoChromium circa 2008?
- Excavator 11y agoA browser being built from the ground up around one process per tab has an easier time implementing said feature than one with years of history? Who would've thought‽
- wanderr 11y agoThe fact that they spent years arguing against its necessity rather than working on it certainly didn't help.
- frik 11y agoThere is a lot of old cruft in its web engine "gecko" (http://en.wikipedia.org/wiki/Gecko_(software) http://en.wikipedia.org/wiki/Gecko_(software) , http://en.wikipedia.org/wiki/XUL http://en.wikipedia.org/wiki/XUL , http://en.wikipedia.org/wiki/XPCOM http://en.wikipedia.org/wiki/XPCOM). Many addons are XUL based and have had problems with the multi process mode. In 1-2 years hopefully Servo is ready combined with a simple HTML based UI to do what Firefox/Firebird/Phoenix did with Mozilla Suite: http://en.wikipedia.org/wiki/History_of_Firefox#Naming http://en.wikipedia.org/wiki/History_of_Firefox#Naming
- glass- 11y agoAnd yet if you read the comments in this thread there are still people arguing against its necessity.
- ethana 11y agoOr IE7 circa 2006. IE7 separated its UI and browser content in different processes. IE8+ group several tabs into one process when passing a threshold. This is much better for battery life compare to Chrome process-per-tab.
- timothya 11y agoChrome also groups multiple tabs on single process, based on a number of factors: https://www.chromium.org/developers/design-documents/process-models https://www.chromium.org/developers/design-documents/process...
- deleted 11y ago[deleted]
- frik 11y agoIE7 or IE8 introduced multi-process sandbox in Vista (not on XP). Afterwards, Google did the same with their first Chrome release. In both IE 8-11 and Chrome 1+ there are several tabs per sub-process. Chrome comes even with its own "Taskmanager" where you can see which tab sits in which process and how many resources it takes. You can find the Taskmanager in the Chrome's "Tools" sub-menu.
- forrestthewoods 11y agoYes. Exactly like that. Firefox is damn near a full decade behind the curve.
- _wmd 11y agoMultiprocess isn't some magical panacea, its use is essentially to contain buggy code which shouldn't exist in the first place (this is true for its use as introducing extra security context for page content as well as its improvements to robustness against hangs). In both instances, a safer implementation language, or moving rendering and JS interpretation off the UI thread could be said to be far more elegant solutions. Mozilla is about a decade ahead of the curve here, with Rust and Servo providing both.
- yborg 11y agoThis. I am a SW tester and regularly use all the major browsers. I frankly do not see any lack in the current non-multiprocess FF in terms of the majority of browsing scenarios. If you really want the browser to be the operating system multi-processing is important, but for those not as interested in Google's agenda it isn't nearly as pertinent.
- StavrosK 11y agoReally? I switched to FF from Chrome and it's my #1 gripe. I can't load a YouTube video without the entire browser freezing, it's ridiculous.
- mitchi 11y agoChrome crashes and freezes all the time too.
- witty_username 11y agoNot for me, I have barely had any crashes or freezes with Chrom(ium).
- deleted 11y ago[deleted]
- jbellis 11y agoHow much will process-per-tab increase memory usage?
- chimeracoder 11y agoThis is multiprocess, but not process-per-tab. There is still a single rendering process for all tabs, at least for now.
- greenyoda 11y agoBut the ultimate plan seems to be to have process-per-tab. The article states: "In future iterations, we expect every browser tab to run in its own process."
- wbamberg 11y agoThere's some interesting talk about that in mozilla.dev.platform: https://groups.google.com/forum/#!topic/mozilla.dev.platform/NHIjpGvOelE https://groups.google.com/forum/#!topic/mozilla.dev.platform...
- Excavator 11y agoBack in 2013 the increase from one process to two processes were 10MB. https://billmccloskey.wordpress.com/2013/12/05/multiprocess-firefox/#mem https://billmccloskey.wordpress.com/2013/12/05/multiprocess-...
- TazeTSchnitzel 11y agoThe problem with e10s (Electrolysis, codename for multiprocess Firefox) is it's actually less concurrent and runs far worse than normal Firefox, at least currently. It's downright unusable.
- trwired 11y agoThis is the exact opposite of my experience with current nightly. The browser feels very snappy and I have yet to see memory usage climb above ~350 MB with a multitude of JavaScript heavy tabs open. (Although I don't know if e10s is directly responsible for the latter.)
- sp332 11y agoSwitching tabs is just awful. If one page is busy loading something, I want to switch to another tab and see what's there, but instead I get to stare at the word "Connecting..." for several seconds. I just feel like I'm waiting for the browser to catch up all the time.
- yoasif_ 11y agoFYI, you can help submit a performance profile to Mozilla so they can work to resolve this: http://mikeconley.ca/blog/2015/05/04/electrolysis-and-the-big-tab-spinner-of-doom/ http://mikeconley.ca/blog/2015/05/04/electrolysis-and-the-bi...
- sp332 11y agoThanks for the link. It's almost certainly one of my addons that's causing the trouble, but I like my addons!
- viraptor 11y agoIt may have less performance for various reasons, but it can't be less concurrent by definition. Previously there was no concurrency.
- 11y ago
- solve 11y agoGoodbye RAM :) Or better for RAM, since I can now selectively kill and resume processes? Oh, I see it's not one process per tab. So does anyone know how I can more easily survive on 2GB with many tabs, other than by constantly killing processes?
- Excavator 11y agoUninstall plug-ins like Flash, and Java or at least set them to block by default. Get µBlock¹ to block unwanted content. Find better sites to visit. You could also try one of the BarTab extensions² and Tab Groups³ to only keep the sites you use loaded. 1: https://addons.mozilla.org/en-US/firefox/addon/ublock/ https://addons.mozilla.org/en-US/firefox/addon/ublock/ 2: https://addons.mozilla.org/en-US/firefox/search/?q=bartab https://addons.mozilla.org/en-US/firefox/search/?q=bartab 3: https://support.mozilla.org/en-US/kb/tab-groups-organize-tabs https://support.mozilla.org/en-US/kb/tab-groups-organize-tab...
- Dewie3 11y agoI think I'd rather have multiprocess Firefox, even if I have to be a bit more judicious with my tab usage. I don't really know if having 40 tabs open is useful for me, or if it just makes me scatterbrained.
- solve 11y agoDoing any kind of web research for work is effectively a breadth-first tree traversal. Remembering all the higher level nodes, when you're ready to go the next level deep, would be a nightmare. My brain couldn't handle that, but tabs solve it effortlessly. So I'd say that I keep many tabs open for the exact opposite reason. It enhances what I can do, due to the limitations of my brain. Within a few decades, I expect for the concept of open tabs and bookmarks to merge. We'll be keeping far more tabs open, and flipping between them effortlessly, or scrolling back to that snapshot in time effortlessly. I imagine closing tabs will be being like closing Emacs buffers. In practice, you practically never have the need to close an Emacs buffer, for anything you might have a small chance of wanting to work on again soon.
- firethief 11y ago
- ladzoppelin 11y agoI really hope Mozilla keeps NoScript alive. .. Please help the maker get it ported to support Multiprocess Firefox.
- hackuser 11y agoIs NoScript really at risk? That would be a big deal.
- ladzoppelin 11y agoYea the creator is asking for funding to port. He is just waiting for Mozilla to deliver which they said the were going to do.
- jccalhoun 11y agothe creator or noscript is working on it and from what i've read mozilla is aware of the issues and doing what they can from their end to make it possible for him to make it compatable: https://bugzilla.mozilla.org/show_bug.cgi?id=1058542 https://bugzilla.mozilla.org/show_bug.cgi?id=1058542
- odiroot 11y agoYep, add-ons that connect background logic and "on-site" logic are going to have a lot of issues. Some APIs change from sync to async (which is good anyway). Some others are replaced or removed.
- nemo1618 11y agoInteresting -- I figured a multiprocess Firefox would only arrive once Servo was finished. Or are these two projects complementary?
- mbrubeck 11y agoThe two projects are independent; work on Electrolysis (multi-process Firefox) actually predates Servo. Old versions of mobile Firefox used Electrolysis, for example. But converting desktop Firefox and supporting its whole add-on ecosystem is a huge project, and was also put on hold for a long time.
- Rusky 11y agoThey're completely separate projects- Servo is run by different people and is intended more as a research project. They do overlap in that Firefox is starting to include little bits of Rust for things the the URL parser or image decoders.
- sp332 11y agoServo isn't aiming at replacing Gecko in Firefox, but it is aiming to be production-ready code. The plan is to make it embeddable like webkit. https://news.ycombinator.com/item?id=9541138 https://news.ycombinator.com/item?id=9541138
- PythonicAlpha 11y agoThe multiprocess feature was one of the main reasons, I switched to Chrome in the first place. I think, it is just a good idea to keep the things separated, so one tab can not stop the whole browser. Today, the browser more and more becomes that, which was called "operating system" some years ago. Many applications today run just from the browser and instead of switching apps, you switch the tabs.... So, it is just a good idea in my opinion to upgrade the security of the browser to a higher level. I am not sure about the memory consumption, but since Chrome seems to have solved this topic, also Firefox should be able to, and maybe it's also time for me to switch back?
- yoasif_ 11y ago> I am not sure about the memory consumption, but since Chrome seems to have solved this topic, also Firefox should be able to, and maybe it's also time for me to switch back? The reason I never promoted Chrome/ium to my "main" browser, instead using it sporadically whenever I decided I wanted to look at a page that use Flash is basically because Chrome is extremely RAM and CPU hungry in use cases where the number of user tabs are high (not sure what the tipping point is, but I regularly have more than 100 tabs present in my browser -- granted, not necessarily loaded). Restoring a session with that many tabs basically disables the computer if using Chrome, necessitating a coffee break while pages load. Electrolysis in Firefox retains the lower RAM and CPU usage of the single process model, and also happens to feel much snappier day to day - I would absolutely recommend that you give the latest nightlies a shot -- or Firefox Aurora, which prompts users to turn it on: https://wiki.mozilla.org/Electrolysis#Schedule https://wiki.mozilla.org/Electrolysis#Schedule
- barnacs 11y agoI don't think they've solved it. I also switched to Chromium a few years ago because it felt way more responsive at the time. Then slowly over time it grew into this beast using over 7GB of memory for my ~50 reasonable tabs (nothing extreme, mostly articles) and it started thrashing my system. I've just recently switched back to Firefox and opened the exact same tabs: it's using 1.25GB. It feels a little slower at times but well within my requirements of usability. I refuse to waste all my memory for some text in a browser.
- Caelish 11y agoIn between e10s, Servo, and the new developer theme in the current Nightly, I feel like Firefox is finally starting to become more competitive to other browsers again. I switched to Chrome because it seemed like Firefox was becoming more and more dated in comparison, both in terms of technology and UI. I still have some gripes with Firefox at the moment, but I'm beginning to seriously consider switching back. This is obviously anecdotal, but both e10s and the Nightly in general have been remarkably stable during the time I've tested them.
- sp332 11y agoThe nightly builds have to pass a suite of automated tests before they are published. They're not 100% stable but they're not crashy very often.
- jasonhansel 11y agoI've switched back to Firefox (initially because Chrome kept crashing after 1-2 hours on my machine). Now, I really like it, primarily because I can mess with userChrome.css. But I'm concerned that e10s will reintroduce the instability that caused me to leave Chrome (though I have no real evidence for this).
- hajile 11y agoI often have hundreds and Chrome just dies when this happens (not to mention it eats tons of RAM -- they need their own MemShrink project). Firefox continues to work and uses far less RAM for the same set of pages.
- monk_e_boy 11y agoThe chrome dev tools are way better than in Firefox. It was a reluctant change for me, but my productivity in chrome is way higher.
- tete 11y agoI had the same experience though I have to admit that some things in Firefox are better these days, like checking where an event comes from, going really deep into objects, referencing other objects, comparing rather big objects. The only thing I really miss is a view WebSocket frames. In many other cases I ended up preferring Firefox Dev Tools which I think while a bit harder to get into are more powerful. But that might really relate to what precisely one is doing. I am not a web designer.
- ascv 11y agoThis was what motivated me to switch to Chrome several years ago.
- taivare 11y agoI am testing this , seems okay so far. ps. I also like ,Reader View
- sp332 11y agoReader view is also available in the Beta channel if you don't want to go as far as running nightlies just to get it. https://www.mozilla.org/en-US/firefox/channel/#beta https://www.mozilla.org/en-US/firefox/channel/#beta
- taivare 11y agoI am testing this , seems okay so far. ps. I also like ,Reader View
- suprgeek 11y agoPlease please test battery life impact while implementing the Multi-process stuff. I had to move away from Chrome just on the battery life issue. I suspect (but cannot conclusively prove) that the multi-process crap that Chrome has just drains your battery much faster. And yes I am perfectly aware of the supposed fix in Chrome for the battery killing bug.
- devsquid 11y agoYea I am with you, I love Chrome and I love that its basically my little mini xplat OS. That of course comes with a price of being a battery hog, if you don't want to use all the benefits Google is cramming into their browser, then I can see the allure of FF. I imagine that represents a fair number of FireFox's users as well. I imagine they won't abandon you friend. :)
- _wmd 11y agoThere's no inherent reason why multiprocess would have a significant impact on energy, it just adds a relatively small amount of extra context switching and marshalling to what is already a huge pile of the same (your desktop OS). When the system is idle, or a page is rendered, the difference shouldn't be measurable.
- deleted 11y ago[deleted]
- nitrogen 11y agoHypothetically, 50 processes all running separate unsynchronized wakeup timers and event loops could bring the processor out of sleep 50x more often than a single process.
- frik 11y agoI assume all graphics data is sent from the tab sub-processes to the main process (Chrome and similar in IE9-11). Multiprocess is different in Firefox, to get full multiprocess (per tab) we maybe have to wait a bit longer, for a Servo based browser. Launching processes is a bit expensive especially on WinNT series (up to Win10), but ultimately it's the way to go ("sandbox" = sub-processes with minimum permissions) - even Servo with its Rust language use it as certain parts like the JavaScript engine are still C/C++ based (come from Firefox/gecko) for the near future and can crash.
- obituary_latte 11y agoFor the first time in years, the other day, I left Firefox open overnight. I use a proxy at work for Firefox due to strict filtering on our primary connection. I was monitoring the amtrack debacle in Philadelphia. I came in the next day to an entirely unresponsive Firefox. I had purposely gone to the home page before leaving to avoid bashing the processing with the live stream. Still, after ~12 hours of being on the cnn.com home page - with NO other usage - Firefox had become unusable. Chrome - with its ~20 normal and ~13 incognito tabs were as stable as they were 3 days ago. I want (and do to an extent) to love Firefox. It was what at one time what expressed to me that there was an alternative to ie. But, I now, in the real world (at least the world I inhabit) can not find it to be better than chrome in any instance. From dev tools to performance. I had no intention of trying to test the differences; I happened to be using ffx for the proxy reason and was saddened to see it had crashed the following day. Here's to hoping this speaks to progress in this regard. (Speaking from OS X)
- viraptor 11y agoJust remember that anecdote != data and all that. My ff gets restarted in two cases - ff or kernel gets security patch. That sometimes means a month of no restarts. (With maybe 30+ tabs in different groups open)
- icebraining 11y agoSame here. I keep sessions open for months at a time, with heavy tab churning (some days I have 30 open, then I close 10, open 20 more, etc).
- gpvos 11y agoFF on Windows (work) is rock solid for me, while on Mac (home) it becomes unusable (too slow) after a few days, and also is a memory hog. I do keep 100s of tabs open on both, although most of those are usually not loaded.
- drvortex 11y agoNow if I can only fix the wobbly address bar that changes size depending on Back/Forward availability.
- callahad 11y agoCan you please post a bug (with screenshots, list of add-ons installed, and any custom browser css tweaks) to https://bugzilla.mozilla.org/ https://bugzilla.mozilla.org/ and CC :callahad in Bugzilla? Those sorts of fit-and-finish bugs really bother me, and I'd love to figure out how we can fix that one for you.
- drvortex 11y agoThanks for the offer. But I believe that the decision to remove the Forward button when there is no 'Forward' history was a design decision. Unfortunately, it has the unpleasant effect of resizing the address bar as well. So as you click through tabs, or click links, the address bar keeps resiing depending on the state of the history in that tab. These 'design' decisions are quite silly IMHO. But I will find the original bug report and CC you on it.
- drvortex 11y agohttps://bugzilla.mozilla.org/show_bug.cgi?id=748291 https://bugzilla.mozilla.org/show_bug.cgi?id=748291 Here is one of several you get when you search for 'Forward' button
- pllbnk 11y agoFrom the experience I've had with Chrome, I would say that process per tab is overhead. Sure, there are some benefits from having a few processes that are managing different parts of the system, but not hundreds of processes just for browsing. The way I use Firefox is that having 50 or more tabs open is normal for me, sometimes there are even hundreds of them. Currently Firefox works great and although there are some unresponsiveness during some workflows, they are not so annoying. I am really worried about this change because I have used Firefox since its version 1.5 and am very familiar with all its problems and successes through the years.
- sebcat 11y ago> The way I use Firefox is that having 50 or more tabs open is normal for me I've never understood this. Isn't that what bookmarks are for?
- bluemetal 11y agoOften you need to preserve some state that is lost when using bookmarks (e.g. scroll position, a confirmation message that will be lost on refresh, a paused game/video etc.)
- rcthompson 11y agoBookmarks, tabs, pinned tabs, etc. all sit at different places on the same continuous spectrum of UIs for saving web pages for later. Once you implement unloading of background tabs (which you can in FF via add-ons), they can start to look a lot like bookmarks.
- gpvos 11y agoYou don't need to use an add-on (anymore?) for keeping them unloaded, although you do need one to get a more manageable user interface. When you have more than about 1000 tabs, startup end closedown get rather slow though.
- PetitPrince 11y ago
- NanoWar 11y agoSix years in the making? Wow...
- 0xFFC 11y agoGuys please don't do this, I hate chrome,not because it is almost perfect internet browser, just because it is almost an entire OS runs on top of my own OS(I just want a browser not os).I am afraid Firefox will end up where chrome going right now.
- higherpurpose 11y agoAt this point pretty much all (modern) browsers except Firefox have this.
- shmerl 11y agoWouldn't too many processes bloat memory? I hope it will be configurable to have some balance.
- revskill 11y agoI hate FLASH when using with firefox. This is great news for all Flash-Hater :)
- kasabali 11y agoWhy is it so? Flash is already in a separate process since '11 or '12 and I don't think electrolysis will bring any benefit in that regard.
- revskill 11y agoYes, but if there is a reason for Firefox to crash, it's due to the Flash Plugin.
- kasabali 11y agoPlease elaborate, because IIRC the whole reason for offloading flash to a separate process was letting it crash without affecting the main process, and it fulfilled its duty every the time I've experienced a Flash crash.
- totony 11y agoTested it today and the performance improvement seems very significant. Good job Mozilla (wow, I haven't said that in a while...)
- jug 11y agoI hope this doesn't lead to the overhead seen in Chrome. The overhead is constant and all the time; the browser is far from crashing all the time. I'm honestly very skeptic about the tradeoff here. And with the move to HTML5 and away from binaries ran by a browser engine, I'm unsure about the necessity due to current security issues in modern browsers too. The security nightmares in browsers always seem to have been related to ActiveX, NPAPI, running black boxes in general. I actually think this was a far better idea (but ironically unthought of) during the days of ActiveX and a much less sensible idea today in 2015.
- lucaspottersky 11y agoSo they basically want to be Goolge Chrome? hmmm...
- forgotpasswd3x 11y agoOther browsers are multi-process too? hmmm...
- tmikaeld 11y agoI've been using Chrome since Paul Irish started working on the Dev Tools. I used to have crashes when i had 120 tabs, but with Flashblock and uBlock i've had none.