Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



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:
  • So sad... (Score:0, Interesting)

    by Anonymous Coward on Wednesday July 08, 2009 @01:26PM (#28624971)

    ...to see Firefox desperately jumping on the multithread bandwagon. Yes, of course restarting your browser once about every month is a terrible pain in the butt. Takes a long time too! I'm thinking: they didn't design for this from the start, so implementing it now will not be worth the headaches caused by unforseen issues.

  • Nice (Score:5, Interesting)

    by Craig Davison ( 37723 ) on Wednesday July 08, 2009 @01:40PM (#28625223)

    Competition from Chrome was a good thing: first the Javascript improvements, now separate processes for the plugins.

  • by Anonymous Coward on Wednesday July 08, 2009 @01:40PM (#28625227)
    They want separate processes as a crutch to deal with memory leaks ... the idea being the leak would be contained to one tab's own process rather than the entire browser, and when you close the tab, you close the process.
  • Re:About time (Score:3, Interesting)

    by MrMista_B ( 891430 ) on Wednesday July 08, 2009 @01:42PM (#28625253)

    Wow. The Firefox developer community really doesn't care much for its users, does it? I've interacted with them in small ways in the past, and this verification of my suspicions only supports the dim view I take of them.

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

    by maxwell demon ( 590494 ) on Wednesday July 08, 2009 @01:42PM (#28625259) 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.

    And no, the true reason to do this is not multicore. That it also gets faster on multicore is just a nice side effect. The true reason to do it is stability. If one page makes problems, you don't lose all the others. This was indeed even more important back when browser and mail was the same program, because it meant that a page crashing your browser could destroy your almost-completed email, too (yes, this has happened to me, although I'm not sure if it was still old Netscape or already new Mozilla). Of course, today it's quite possible that your browser is your mail client again because you're using webmail.

    Note that if it were just a performance thing, they could have gone multithreaded instead. This would probably get even better performance.

  • by Millennium ( 2451 ) on Wednesday July 08, 2009 @01:47PM (#28625335)

    Yes, back in the days when a bad web page would crash your browser this was bad, but I have not seen those crashes recently.

    Do you run a lot of plug-ins, by any chance? Browser makers don't control plug-in code (other than the code for their own plug-ins, of course), but this code is still capable of taking out a browser process if it goes bad.

    If the browser is stable, what benefit do multi-processes have?

    The other big benefit is that one process can't hog the CPU: even if one page gets into a ridiculously tight JavaScript loop that bogs that page down, the others should continue to load.

    Still, the "if the browser is stable" issue is a very big if, and as I mentioned above, it's not completely under the browser maker's control.

    Also, and maybe I should read the details, but if I am authenticated to a website in one tab, does that authentication carry over to other tabs using other processes?

    It depends on how the browser is written, but it can be done.

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

    by Andy Dodd ( 701 ) <atd7NO@SPAMcornell.edu> on Wednesday July 08, 2009 @02:09PM (#28625711) Homepage

    This should solve a long-standing bug regarding proxies and DNS.

    For whatever reason, if you are using a proxy server (It may only pertain to specific proxy configurations, I'm not sure, I do know that the proxy setup where I work triggers this bug), the whole browser will freeze while a DNS lookup executes. NOT good if you accidentally typo a domain.

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

    by not already in use ( 972294 ) on Wednesday July 08, 2009 @02:43PM (#28626299)

    Note that if it were just a performance thing, they could have gone multithreaded instead. This would probably get even better performance.

    Firefox is already multithreaded (if it weren't the UI would freeze during downloading, rendering, etc).

    It amazes me how many people here on slashdot don't understand the differences and distinctions of multi-process vs. multi-threaded.

  • NSPluginViewer? (Score:4, Interesting)

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

    I remember some browser (Konqueror, is it?) uses a separate NSPluginViewer process to run Flash. It's the best approach because it let me renice the Flash.

    Do you notice Flash runs at a lower priority in IE? (Try running into a busy Flash page and scroll up and down - you'll see the Flash applet slowing down but the UI scrolling of the browser is still responsive.

    Not so in Firefox. Hope they'll finally get it right.

  • by Twillerror ( 536681 ) on Wednesday July 08, 2009 @03:30PM (#28627109) Homepage Journal

    One problem we have is that we want to open many of the same applications more than once. Imagine wanting to login to slashdot with two different logins.

    Right now in IE and Firefox each tab shares the same cookie space. So when you login with one tab you'll notice the cookie in the other tab getting "overwritten".

    Now with multiple processes is this the case. When one tab "open another window" resutling in another tab are these two tabs in the same processes sharing cookies and the like?

    The browser is general is a horrilbe state machine. It would be nice if Javascript would support some form of lighter weight cookie that could be access between page loads.

  • by Anonymous Coward on Wednesday July 08, 2009 @09:03PM (#28630853)

    You have confused the call for "every tab a different process" for "every tab a different thread". We're not talking about every tab needing its own thread; we're talking about every tab should have its own complete instance of the rendering stuff and its own javascript environment. Multiple threads per instance is a separate issue. It's useful, but the full goal here is to have one a problem only crash the tab it's in instead of crashing the whole browser.

    Example: fire up chrome and open a bunch of tabs, then open task manager and look at the process list, and you'll see multiple chromes.

    So too will be the future of firefox; what we see as one program will really be a wrapper for a whole bunch of them, isolated from each other so that they can't crash each other.

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

    by dirtyhippie ( 259852 ) on Wednesday July 08, 2009 @09:54PM (#28631251) Homepage

    Let me guess, you are running on ff on ext3? Upgrade to ext4 (or run windows or mac) and the problem is not there.

Real Programmers don't eat quiche. They eat Twinkies and Szechwan food.

Working...