Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Mozilla The Internet News

Firefox To Get Multi-Process Browsing 383

An anonymous reader writes with news that multi-process browsing will be coming to Firefox. The project is called Electrolysis, and the developers "have already assembled a prototype that renders a page in a separate process from the interface shell in which it is displayed." Mozilla's Benjamin Smedberg says they're currently "[sprinting] as fast as possible to get basic code working, running simple testcase plugins and content tabs in a separate process," after which they'll fix everything that breaks in the process. Further details of their plan are available on the Mozilla wiki, and a summary is up at TechFragments.
This discussion has been archived. No new comments can be posted.

Firefox To Get Multi-Process Browsing

Comments Filter:
  • About time (Score:1, Insightful)

    by WuphonsReach ( 684551 ) on Wednesday July 08, 2009 @01:19PM (#28624855)
    What took so long?
  • Nice (Score:3, Insightful)

    by suso ( 153703 ) * on Wednesday July 08, 2009 @01:21PM (#28624885) Journal

    This is cool. Competition is good.

  • Re:I love how.. (Score:3, Insightful)

    by LizardKing ( 5245 ) on Wednesday July 08, 2009 @01:26PM (#28624967)

    They've effectively been there already. It was when Netscape started talking about the browser being the "new desktop" that Microsoft started to see them as a serious threat. Cue the purchase of Spry Mosaic, its rebranding as Internet Explorer and attempt to extinguish Netscape by bundling it with Windows.

  • Re:So sad... (Score:3, Insightful)

    by Thiez ( 1281866 ) on Wednesday July 08, 2009 @01:39PM (#28625203)

    The 'multithread bandwagen'? Multithreading is not just some temporary hype that will be gone and forgotten next year. It is A Good Thing. If they get it right it'll be a big improvement to the browser.

    Having said that, your concerns that it may be a pain to implement in a browser that was not designed to support them are valid. While I expect them to succeed, you can always stick with an older (single-threaded) version for a while while the most problematic bugs get fixed.

  • by Anonymous Coward on Wednesday July 08, 2009 @01:43PM (#28625279)

    The clowns working on Firefox had years, YEARS, to get their act together and rewrite the STINKING PILE OF SHIT that is the Firefox codebase. But they chose to flame anyone who dared talk about the massive architectural problem in the absurdly outdated Firefox process model.

    Memory protection for each tab? Not possible! Stop asking for something that can't be done! They cried!

    Threading for Javascript? Not possible! Stop asking for something that can't be done! The Firefox devs cried!

    That is why those AC posts from Firefox devs were so vicious and venomous for everyone pointing out the massive memory/resource leaks in Firefox that have only been somewhat lessened in the latest versions. The solution for those problems involves a complete rewrite of the process and memory model for Firefox.

    Now Google came out and humiliated the Firefox devs with Chrome and its amazing realworld threaded Javascript and memory and process protection/isolation.

    Nothing but pity and absolutely no sympathy for anyone faced with retrofitting Firefox into a semblance of a modern browser architecture.

    Now with full extension support in Chrome this is like hearing about Microsoft scrambling to fix their massive security problems in IE long after you dumped it.

  • by DutchUncle ( 826473 ) on Wednesday July 08, 2009 @01:50PM (#28625395)
    For users with anything pre-multi-core (and that's only a few years old), this will result in things getting *slower* because of the process overhead. I hope it senses resources and optimizes appropriately, or all of the friends and relatives I tech-support will be cursing me when the update happens. Some of them are already ticked that when they double-click on the Firefox icon, it takes longer to load than IE because of all the update-phone-home (the sort of thing for which we would all get annoyed at M$).

    Eventually we'll get to the point where the window comes up and it takes a ludicrous time to fill . . . just like Windows already does now.

    Better philosophical architecture is a good thing. Running well in the practical typical system, in front of the average user, is good too. Disruptive change is not always the way to please your users.
  • by CannonballHead ( 842625 ) on Wednesday July 08, 2009 @02:02PM (#28625605)

    I'll bite. It's about time.

    Even explorer.exe is able to open directories using different processes, if you want. Frankly, I found it frightfully annoying to have X+ tabs open and have ONE of those tabs cause the entire program to crash, usually due to a plugin issue. Made no sense to me. Multi-process/multi-threaded/multi-whatever programming has been around for quite a while now, and multi-core cpus have been pretty common, too.

    It's one of the huge advantages that I saw with Chrome (over Firefox). That and program open/new tab open speed. FF 3.5 seems to have addressed this somewhat, but it's still slower, I think.

    Hooray for competition, and hooray for finally taking advantage of the hardware out there. Really, for one of the most used applications someone will use, it seems silly to only allow it to use a single-process model.

  • by hedwards ( 940851 ) on Wednesday July 08, 2009 @02:02PM (#28625617)
    If that's the case, then you were doing something wrong. Firefox rarely uses more than 300mb of memory on my machine and tends not to crash either definitely not 2 to 3 times a day. Also, if you're only using it for 2 or 3 minutes a day, you're clearly doing something specifically to make it crash, because I've had this window open for multiples of that time right now and it has yet to crash

    It's become common place for people to blame Firefox for things like Flash crashing or the gunk that comes from browsing. I've been browsing for some time with noscript and without flash and I rarely end up with this kind of trouble. On top of that I have the cache, cookies and history cleared upon exit. And I'm not having any sort of trouble of the sort you're describing.

    I don't mind people criticizing Firefox, but this immature trolling because of your own incompetence is enough to make one slightly annoyed.
  • by suso ( 153703 ) * on Wednesday July 08, 2009 @02:08PM (#28625697) Journal

    Hey chill, give em a break. There is something to be said for filtering out every little feature request that gets sent your way. Good filters are how great software stays great (like Linux) and makes sure that the project doesn't veer in the wrong direction. I don't know much about the Firefox developers, but I'd say they have good reason to be filters for a lot of things.

    As a sysadmin, I deal all the time with users asking for the latest features, but I have to weigh which ones can be done now, which ones have to wait and which ones shouldn't be done because they are stupid. I try to keep an open mind, but sometimes you get stuck in a rut because of old information or "the way things used to work", so you just have to be patient, try to show the new way and hope that it sinks in.

  • by Blakey Rat ( 99501 ) on Wednesday July 08, 2009 @02:12PM (#28625769)

    They're not doing it because Chrome has it, they're doing it because IE8 has it. Microsoft putting this in Internet Explorer before Firefox is basically equivalent to kicking Firefox developers in the nuts.

  • Re:About time (Score:5, Insightful)

    by anaesthetica ( 596507 ) on Wednesday July 08, 2009 @02:15PM (#28625823) Homepage Journal
    This is a pretty ungenerous view to take. First off, the Mozilla community is not confined to geeks on Slashdot who care passionately about things like process separation. The Firefox developer community most certainly does care about its users, but the users don't necessarily know that they want, much less could benefit from, process separation. Like Henry Ford said, "If I had asked people what they wanted, they would have said faster horses." So, Firefox developers delivered what the mass base of users wanted. If anything, you might fault them for being overly user-driven. We can see this in their focus on adding new features, instead of leaving the trivial features as extensions and focusing on performance, standards implementation, and technical features like process separation.
  • Re:About time (Score:4, Insightful)

    by Rufty ( 37223 ) on Wednesday July 08, 2009 @02:18PM (#28625859) Homepage
    The Firefox developer community cares a lot for its users ... compared to the Thunderbird developer community.
  • Re:About time (Score:3, Insightful)

    by IntlHarvester ( 11985 ) * on Wednesday July 08, 2009 @02:18PM (#28625863) Journal

    They had to chance a code base from around 5+ years only because they didn't things right 5+ years ago. Remember, back then they were doing a complete code rewrite anyway.

    Actually it was more like 10 years ago :/

    And you're right -- Internet Explorer 4 had a multiprocess model (one process per window), but Mozilla insisted on having everything running in the same process, even the frickin mail client.

    A lot of people questioned this at the time, but the response was "That's the way Netscape Communicator 4 does it and everyone loves Netscape 4".

  • Re:Nice (Score:3, Insightful)

    by CannonballHead ( 842625 ) on Wednesday July 08, 2009 @02:25PM (#28625979)
    "Working" is one of those hard-to-define words when it comes to software development. Does "working" mean "thinking about" or "coding" or "I put it on my whiteboard and I'll get to it sometime next year"? :)
  • Re:About time (Score:5, Insightful)

    by IntlHarvester ( 11985 ) * on Wednesday July 08, 2009 @02:27PM (#28626029) Journal

    OK I'm a user, and I want a browser where the UI doesn't lag when pages are loading. I also want a browser that doesn't completely freeze when a Java applet launches or PDF file opens. I would also like a browser where I don't have to restart the whole thing when Flash gets borked and refuses to play youtube videos.

    Point being there's a lot of user-visible issues and longstanding complaints which are addressed by this. Furthermore, the incumbent browser (IE) doesn't have any of these issues.

    (And "Use Adblock and stop using Java/Flash/PDF" is a workaround, not a real solution.)

  • by IntlHarvester ( 11985 ) * on Wednesday July 08, 2009 @02:32PM (#28626115) Journal

    Forking a process on unix-like systems if fairly lightweight but for Windows this will not scale well at all. Why not just have rendering worker threads? Have I missed something?

    Er. This is an argument which applies to high-volume servers that handle hundreds/thousands of requests per second. Windows' process model is not so heavy-weight that you notice it opening a new browser tab once every few minutes.

  • Re:About time (Score:5, Insightful)

    by Wolfier ( 94144 ) on Wednesday July 08, 2009 @02:42PM (#28626273)

    > First off, the Mozilla community is not confined to geeks on Slashdot who care passionately about things like process separation. The Firefox developer community most certainly does care about its users, but the users don't necessarily know that they want, much less could benefit from, process separation.

    That's the same group of developers who wilfully ignore repeated ordinary user requests to give them an option to accept duplicate certificates, even after some big red security warning. To make things worse, it doesn't even bother to display which certificate and which CA are in violation so the user can delete them. On IE, you can click "Continue anyway" to bypass the self-issued certificate duplication and log on to your router, for example.

    Their response: it's the fault of your router company.

    This is ridiculous. The Mozilla devs definitely think they know better than the users.

  • by Anonymous Coward on Wednesday July 08, 2009 @02:43PM (#28626289)

    First Google's Chrome humiliated the Firefox developers.

    Then Microsoft's IE 8 kicked Firefox developers in the nuts.

    I'm really surprised that Microsoft hasn't advertised such a major technological advantage over Firefox in any of their advertising media.

  • Re:About time (Score:3, Insightful)

    by tixxit ( 1107127 ) on Wednesday July 08, 2009 @02:45PM (#28626345)
    I don't know. When I'm looking at a list of bugs and features requests longer then a book, I tend to be pretty picky about which features I implement as well. Having separate processes for each page is great, but you still have to prioritize. Especially when you have the choice between a handful of user-visible features or a not-so-visible feature that none of your competitors had as well. Remember, developers are a limited resource.
  • by AK Marc ( 707885 ) on Wednesday July 08, 2009 @02:51PM (#28626475)
    I'm really surprised that Microsoft hasn't advertised such a major technological advantage over Firefox in any of their advertising media.

    Have they ever advertised against Firefox? I'd be surprised if they did. To compare oneself to a rival is to legitimize that rival.
  • Re:About time (Score:3, Insightful)

    by street struttin' ( 1249972 ) on Wednesday July 08, 2009 @03:06PM (#28626717)
    The problem now is it will take at least 3 years to stabilize. Who wants to be first to test this thing? multiprocessing code needs to be planned from the beginning or else it will take TONS of effort to rewrite. I bet this destabilizes everything for ages to come...
  • Re:About time (Score:2, Insightful)

    by BitZtream ( 692029 ) on Wednesday July 08, 2009 @03:41PM (#28627279)

    Uhm, I've written plenty of single threaded apps that can give the appearance of being multithreaded.

    All it has to do is use non-blocking calls and make regular UI updates to make sure the user isn't aware of the single-threaded nature.

    It takes effort, but its far from a requirement, and in many cases is far easier than writing proper thread safe multithreaded applications considering in almost every toolkit out there there is only one thread that handles ALL UI in an application.

    You know that Google Chrome window you see, with all those tabs in it, and all the processes controlling them. Guess what, the GUI you see runs in a single thread, fed by a bunch of backend processes with some re-parented windows.

    It amazes me how people post on slashdot as if they know everything about programming when they really don't have a clue.

  • Re:About time (Score:4, Insightful)

    by drsmithy ( 35869 ) <drsmithy&gmail,com> on Wednesday July 08, 2009 @03:49PM (#28627395)

    A lot of people questioned this at the time, but the response was "That's the way Netscape Communicator 4 does it and everyone loves Netscape 4".

    I've heard a lot of words used with Netscape 4. I can confidently say "loved" was never one of them.

  • by BitZtream ( 692029 ) on Wednesday July 08, 2009 @03:50PM (#28627409)

    Uhm, the firefox javascript engine supports multithreading just fine, and gecko 1.9 supports multithreaded javascript out of the box, the previous branch required some extra effort to do so what it most certainly would allow multiple javascript threads.

    Not really sure what the hell you're talking about but I have a couple Firefox extensions that depend on the fact that they can use multiple threads.

    This is all documented on mozdev, both the new methods for gecko 1.9 and the workarounds to do it in the 1.8.x branch.

    I've been using multiple javascript threads in gecko/xulrunner for at least 2 years.

  • by b4dc0d3r ( 1268512 ) on Wednesday July 08, 2009 @04:01PM (#28627547)

    Opposition to threading by Firefox devs came from, among others, Brendan Eich, the inventor of Javascript. You can read his well supported arguments on Bugzilla.

    BE's opposition was based on solving the problem, if there is one, rather than re-architecting the solution on principal.

    ...If you insist on defining the problem to dictate the
    solution, then of course "multitasking" is the OS's job.

    But responsive browser UI with windows and tabs galore is not "multitasking". I
    dissent. Many browsers are responsive (modulo plugins, separate issue, dealt
    with via processes in Konq, e.g.) without threads.

    I really do object to putting the thread cart before the various horses (lack
    of UI responsiveness, lack of CPU utilization on multicores, other throughput
    and latency complaints) whose best solutions *may or may not* have anything to
    do with threads.

    His position is against the original bug reporter:

    There would be substantial improvement in the quality of the UI if the general
    UI and the geck UI (as in web pages) were threaded. This would also protecta
    against locked pages.

    Essentially, his objection was that it wasn't solving the problem. This is a different argument - more like whether Google Chrome has a good idea with their protected processes. That's a problem with stability - If the browser handled ALL exceptions intelligently, and watched for runaway scripts, it wouldn't be needed at all.

    IE 7's tabs are isolated, and the dev team said they had to jump through hoops to get it to work correctly - adding more complexity, which means more potential points of failure. From the same bug:

    https://bugzilla.mozilla.org/show_bug.cgi?id=40848#c11 [mozilla.org]

    "One design decision worth calling out is that our current implementation is
    fully multithreaded. Each tab is on a separate thread, and the frame is also on
    its own thread. This has some impact on the overall footprint of IE, but we
    believe this will allow IE7 to feel faster and provide an overall better user
    experience. Internally this creates some additional complexity as we have to
    deal with a lot of cross-thread communication, but it also gives us a way to do
    things we wouldn't otherwise be able to do with a single-threaded approach."

    I'm all for deciding what the problem is and finding a solution to fix it - not proposing a new design just to see if we can.

  • Re:About time (Score:3, Insightful)

    by Tumbleweed ( 3706 ) * on Wednesday July 08, 2009 @04:30PM (#28627891)

    So yes, flash can lock up a thread, and since a large amount of firefox users intentionally block flash, its not actually that pressing of a need.

    This is based on a particular set of assumption - that all Flash is bad, that all Flash is undesired, and that only unwanted Flash is causing problems. And I'm also not sure what percentage of Flashblock FF users have installed, or how it's configured.

    In the days of YouTube, Hulu, etc., Flash content is very much desired, and depending on a plugin to fix a fundamental design weakness in the browser is not the best idea I've heard of.

    Just because it's not a pressing need for YOU, doesn't mean it's not a pressing need.

    I guess at least you can always talk out your ass now that everyone else is doing it and pretend you knew this all along. Obviously it was your idea.

    I've actually been talking about this for _years_, here and elsewhere, along with many others, under this undername. If you wish to waste your time, check up on it. But you should do that before you accuse me of jumping on some bandwagon with no proof.

  • by Daeron ( 4056 ) on Thursday July 09, 2009 @01:20AM (#28632613)

    What amazes me the most is how practically everybody looks at this from the "when it crashes" point of view, when to me personally the biggest advantage to all of this is that one can actually have 40+ tabs open and having the system need Only swap in the Current Tab instead of every single tab all at once after an extended period of browser inactivity (likely causing the system to swap out the currently single browser process).

    I know people will say RAM is cheap and all that ... but still why should the system worry about swapping back in all 40+ open tabs when i am really only interested in the currently active one. Let it worry about swapping in another when i want it.

  • by Ying Hu ( 704950 ) on Friday July 10, 2009 @03:25AM (#28646707)

    We'll buy it if matches what we have watched our own system monitors show us about what the browsers are doing with CPU utilization and RAM use over years of using Firefox and Opera.

    I might add that, as with any experiment, if the "unknown dude" presents the steps he or she took to do the experiment, and they are reproducible, one can then check to see if the same results are obtained. I'll admit I'm not going to do the experiment, but from a quick skim of the webpage, it looks like enough information is given to copy the experiment. What's your problem? Do you only accept a finding if it's done by a "celebrity", rather than by looking at what was done?

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...