Slashdot Mirror


Firefox To Get Multi-Process Browsing

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.

383 comments

  1. About time by WuphonsReach · · Score: 1, Insightful

    What took so long?

    --
    Wolde you bothe eate your cake, and have your cake?
    1. Re:About time by Anonymous Coward · · Score: 5, Funny

      What took so long?

      Yeah! All they had to do was change their entire codebase from around 5+ years of Firefox (and probably more of Mozilla/Netscape) to update it! That's, what, half an hour's work? And don't give me this "legacy code" bullshit; if they bothered to anticipate our fifty bajillion core processors back then like any NORMAL person should today, they wouldn't be in this mess!

      Lazy bastards. I mean, how hard is it to change what is apparently that one really trivial-to-find call in their code to useProcessSeparationOhAndIAlsoWantAPony(true)? Took them long enough...

    2. Re:About time by Krneki · · Score: 3, Funny

      Most of the people are still running a single core CPU.
      And if we could remove Adobe Flash player we would never need a second CPU.

      --
      Love many, trust a few, do harm to none.
    3. Re:About time by anaesthetica · · Score: 5, Informative

      According to the Ars coverage:

      Mozilla has explored the possibility of adopting a multiprocessing approach for Firefox in the past, but the idea didn't gain serious traction in the Firefox developer community until it was implemented by Google and Microsoft in their respective web browsers.

      It was probably too large a project to consider doing without a pressing need. Chrome and IE8 supplied that pressure.

    4. Re:About time by Ethanol-fueled · · Score: 5, Funny

      Really. And all this wouldn't even be a problem if they just wrote it in Java to begin with.

      This is why we can't have nice things.

    5. Re:About time by Anonymous Coward · · Score: 1, Funny

      Great. Now firefox can consume 1GB of memory in each of four separate processes. Guess I'll have to add more memory...

    6. Re:About time by abigor · · Score: 4, Informative

      So your single-core cpu is only ever capable of running a single process? The advantages of a multi-process browser go way beyond running the processes on separate cores.

    7. Re:About time by Anonymous Coward · · Score: 0

      Lazy bastards. I mean, how hard is it to change what is apparently that one really trivial-to-find call in their code to useProcessSeparationOhAndIAlsoWantAPony(true)? Took them long enough...

      The real problem was solving all the side-effects of the OMG_PONIES callback. Trying to pass that through inter-process channels makes almost all OS kernels throw a SIGRETARDED and kill() the entire process tree. Sad, but true.

    8. Re:About time by MrMista_B · · Score: 2, Interesting

      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.

    9. Re:About time by maxwell+demon · · Score: 5, Interesting

      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.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    10. Re:About time by Anonymous Coward · · Score: 3, Informative

      >Most of the people are still running a single core CPU.

      Do not confuse multi-process with multi-processor (or multi-core).

      Even a single core machine can make use of multiple tasks, or threads, or processes, to get more work done while waiting for one task to complete.

      When monolithic code reaches a point where it is waiting for data from the server, it stalls. Multiprocess code has another process it can put to use rendering the images, or playing the goddamed flash.

    11. Re:About time by Tanktalus · · Score: 1

      It's called copy-on-write technology. It means that 1GB+1GB+1GB+1GB will total about 1.2GB. It's advanced math.

    12. Re:About time by Vectronic · · Score: 4, Informative

      This isn't really about CPU/Core counts, having tabs/plug-ins running in a separate process is useful because if that page/plug-in crashes that process, the remaining pages won't be effected. I highly doubt they will be dabbling with being able to set which processor a certain process runs on (just yet).

      This won't really make use of extra processors/cores, that's what threads (should) already do, even if the application doesn't have any special code to do so.

    13. Re:About time by QuantumRiff · · Score: 1

      I also read a discussion once about how it would involve a TON of work to get the extensions working properly again.

      --

      What are we going to do tonight Brain?
    14. Re:About time by Krneki · · Score: 1

      My mistake. :/

      --
      Love many, trust a few, do harm to none.
    15. Re:About time by Volante3192 · · Score: 1

      I'd be worried how plugins work across multiple processes. Do we run an addon seperately for each process? Do they all load under the firefox process? Can we crash an addon in one process and not have it bring down other processes?

      Chrome and IE have the benefit of not dealing with those questions.

    16. Re:About time by Jurily · · Score: 2, Informative

      if they bothered to anticipate our fifty bajillion core processors back then like any NORMAL person should today, they wouldn't be in this mess!

      Processes don't offer more multicore support than threads. What they do offer is clean separation of code that can run independently.

    17. Re:About time by Anonymous Coward · · Score: 0

      It also means that every write after a fork gets a page fault, which is not exactly cheap. Each new tab you create would make the entire browser slower for a period of time.

    18. Re:About time by Tumbleweed · · Score: 5, Funny

      It was probably too large a project to consider doing without a pressing need.

      Cuz yeah, Flash locking up the entire browser wasn't a pressing need until IE8 and Chrome. Riiiight.

      LOTS of us have been asking about this for a VERY long time (years). Leaving it this late is called 'lack of vision'. This should've been in the very first version. Now there IS a ton of code to make this work with. I imagine that's why they call this Electrolysis...it's a hairy problem now that it's been ignored for so long.

    19. Re:About time by Wowsers · · Score: 1

      When Firefox locks-up in Linux, which process do you kill? Should be fun to issue the kill command to who knows how many Firefox entries just to kill it completely and avoid the "An instance of Firefox is still running" problem.

      --
      Take Nobody's Word For It.
    20. Re:About time by Tumbleweed · · Score: 1

      I'd be worried how plugins work across multiple processes. Do we run an addon seperately for each process? Do they all load under the firefox process? Can we crash an addon in one process and not have it bring down other processes?

      Chrome and IE have the benefit of not dealing with those questions.

      Sure, cuz there aren't any real add-ons for Chrome yet that don't involve manually installing them via a rather tedious process.

      When Flash crashes in Chrome, it crashes in every tab IN Chrome (though it doesn't take out Chrome itself).

      I'd like FF to do this better than Chrome - give me the option to run Flash player in each tab separate from Flash player in every other tab. That'd be nice.

    21. Re:About time by Anonymous Coward · · Score: 0

      My compiler uses all four of my cores. Does that not count as a commercial program?

    22. Re:About time by Anonymous Coward · · Score: 0

      If it weren't for all the extensions, this bug would have been enough to get me to abandon Firefox. It is a well-known UI design principle that the GUI thread of an application should not be given long-running tasks.

      It drives me nuts when I accidentally type an invalid address in Firefox. Typically, I know about it the split-second after I press enter, but Firefox kindly prevents me from hitting the Stop button for at least 5 seconds while it figures out all on its own that the address is invalid.

      Personally, I'd prefer to see multi-threading instead of using multiple processes, but either way, it's about time this gets fixed. Firefox's current behavior is unacceptable for an application with such a large user and developer base.

    23. Re:About time by Anonymous Coward · · Score: 0

      And adding to their reputation as memory hogs...

    24. Re:About time by Andy+Dodd · · Score: 2, Interesting

      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.

      --
      retrorocket.o not found, launch anyway?
    25. Re:About time by Captain+Segfault · · Score: 3, Funny

      That sounds like a job for killall!

    26. Re:About time by anaesthetica · · Score: 2, Informative

      Funny thing is, they're already in the middle of a major revision project. After Fx2, Brendan Eich released a set of goals for Mozilla 2. The idea is/was to do a large scale cleanup and refactoring (explicitly not a rewrite, however) in order to get rid of some legacy code still around from overly ambitious plans that didn't pan out (e.g. XPCOM). That was to happen in parallel to the development of Fx3 on Gecko 1.9.0.

      It's not clear how much progress has been made on Gecko 2.0—almost no public-facing announcements are made about it to the community, and the wiki page is dormant. All the work and focus seems to have been poured into Gecko 1.9.1 (Fx3.5) and now 1.9.2 (Firefox.next).

      One element of Eich's vision for Mozilla 2 was implemented in 3.5 – the new faster javascript implementation. But the smaller, leaner, more approachable codebase goal? Who knows.

      Now it seems they're attempting 'Electrolysis' (the codename for process separation) in parallel to the development of Firefox.next (Gecko 1.9.2), which is already ostensibly being done in parallel to the Mozilla 2 refactoring. Makes you wonder if there's anyone at the wheel.

      Here's an essay I wrote about Mozilla's direction back in 2007 when Mozilla 2 was supposed to kick off.

    27. Re:About time by Tumbleweed · · Score: 1

      And adding to their reputation as memory hogs...

      The memory hogging is a thing of the past as of FF v3.5. It now uses the least memory. It's pretty nice, though Flash seems to have even more problems on this version of FF than before. *sigh*

    28. Re:About time by anaesthetica · · Score: 4, Insightful

      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.

    29. Re:About time by RebelWebmaster · · Score: 1

      I think the plan for Gecko 2.0 has changed since Brendan's post a couple years ago, shifting in favor to smaller, incremental improvements with shorter lead times instead of long, drawn-out changes creating release gaps like the one between 2.0 and 3.0.

    30. Re:About time by Vectronic · · Score: 2, Informative

      No commercial program on earth takes advantage of more than two cores...

      What? Yes, even some of the "high-end drafting" programs do, every single 3D Modeling and/or Drafting application I have, can use 1, 2, or 4 (and likely upwards, but the highest core/CPU PC I have is 4) as they see fit.

      Operating Systems are a "commercial program", and most of them can handle 8, 16, 32 or more processors.

      If you have information as to otherwise, I'd be highly interested.

    31. Re:About time by metamatic · · Score: 1

      Now, if only we can get Chrome to have a simple UI for per-site cookie and script preferences, maybe they'll finally add that feature to core Firefox.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    32. Re:About time by Anonymous Coward · · Score: 0

      It also means that every write after a fork gets a page fault

      Only on non-shared pages (I.e. I would ass-u-me that they are doing a shared mmap() segment for accessing stuff like the cache). The data & text segments obviously never get written, so those's never COW'd. So that leaves...the stack.

    33. Re:About time by Rufty · · Score: 3, Insightful

      The Firefox developer community cares a lot for its users ... compared to the Thunderbird developer community.

      --
      Red to red, black to black. Switch it on, but stand well back.
    34. Re:About time by IntlHarvester · · Score: 2, Insightful

      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".

      --
      Business. Numbers. Money. People. Computer World.
    35. Re:About time by GMFTatsujin · · Score: 1

      They were waiting for the tab to finish loading.

    36. Re:About time by afabbro · · Score: 2, Informative

      It's not a question of multi-core architecture. No commercial program on earth takes advantage of more than two cores, not even the high-end drafting programs on mirrored quad Xeons.

      That is a ridiculously untrue statement. Oracle's database certainly uses more than two cores (yes, even the Windows version). A number of engineering and 3D/rendering packages I'm aware of can use more than two cores.

      --
      Advice: on VPS providers
    37. Re:About time by Bakkster · · Score: 1

      Really. And all this wouldn't even be a problem if they just wrote it in Java to begin with.

      Exactly, everybody would have stopped using it after the 30th time it crashed the JVM.

      --
      Write your representatives! Repeal the 2nd Law of Thermodynamics!
    38. Re:About time by Anonymous Coward · · Score: 0

      Oh yeah those lazy bastards at Firefox can't make Flash crash nicely.

      I really think your anger would be more just if targeted at Adobe.

    39. Re:About time by IntlHarvester · · Score: 4, Insightful

      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.)

      --
      Business. Numbers. Money. People. Computer World.
    40. Re:About time by Tumbleweed · · Score: 1

      Oh yeah those lazy bastards at Firefox can't make Flash crash nicely.

      I really think your anger would be more just if targeted at Adobe.

      Oh, I _really_ hate Adobe, make no mistake. But when you make something like a browser, you have to have the brains to know that plugins are a way of life, and you need to make your browser platform not subject to the whims of the incompetent plugin makers. IMO, anyway.

    41. Re:About time by higuita · · Score: 4, Informative

      Ask your admins to change the proxy PAC to not using the isInNet function, as this
      requires the DNS to check if every domain/hostname exists before deciding what proxy
      to use... isnt easy to solve...

      i work around with this:

        if ( shExpMatch(url, "*127.0.0*") ||
                      shExpMatch(url, "*192.168.*") ||
                      shExpMatch(url, "*10.15.*") ||
                      shExpMatch(url, "*10.16.*") ||
                      shExpMatch(url, "*10.17.*")
        ){ if ( isInNet(host, "127.0.0.0", "255.0.0.0") ||
                      isInNet(host, "192.168.0.0", "255.255.0.0") ||
                      isInNet(host, "10.15.0.0", "255.255.0.0") ||
                      isInNet(host, "10.16.0.0", "255.255.0.0") ||
                      isInNet(host, "10.17.0.0", "255.255.0.0")
              ) { return "DIRECT"; }
              else { return "PROXY 192.168.1.10:3128"; }
          }

      this way it just use the "bad" function if there is a IP in the URL...
      all rest, its defined using domains/hostnames, no need for the isInNet

      good luck

      --
      Higuita
    42. Re:About time by MrMista_B · · Score: 1

      To put it simply, you're arguing that bloat is a user-driven 'feature', and that performance, standards implementation and techinical features like process seperation are 'trivial features'?

      Forgive me if I can't take the rest of what you said seriously after that. No wonder IE and Chrome have managed to become better than Firefox so quickly.

    43. Re:About time by feepness · · Score: 2, Funny

      Lazy bastards. I mean, how hard is it to change what is apparently that one really trivial-to-find call in their code to useProcessSeparationOhAndIAlsoWantAPony(true)? Took them long enough...

      The hard part wasn't the process separation, it was the pony.

    44. Re:About time by Jesus_666 · · Score: 1, Funny

      Since when does an OutOfMemoryException crash the VM?

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    45. Re:About time by Wolfier · · Score: 4, Insightful

      > 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.

    46. Re:About time by not+already+in+use · · Score: 4, Interesting

      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.

      --
      Similes are like metaphors
    47. Re:About time by Bakkster · · Score: 3, Funny

      Since everything crashes the JVM.

      --
      Write your representatives! Repeal the 2nd Law of Thermodynamics!
    48. Re:About time by tixxit · · Score: 2, Insightful

      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.

    49. Re:About time by anaesthetica · · Score: 1

      No no, I'm arguing that bloat is trivial features, and that technical features that appeal to geeks are not usually user-facing or things that the general mass of users can get excited about. As an analogy, think about Apple's approach to Snow Leopard: there are certainly lots of new features, but most are technical and therefore boring to people who aren't geeks. So they're marketing it as putting a 'pause' on features, simply because there aren't many big UI features that normal end users will get excited about.

      Same with Firefox: the end-user features are selling points for the mass of users, whereas technical features are hard for anyone but geeks to get excited about except in an abstract sense. The problem with something like process separation isn't that it's trivial, quite the opposite, it's very hard and this serves as a barrier to spending a great deal of time on a feature that only a very few people will care about. Like it or not, Firefox is still very market-share oriented, whereas Google, developing in secret, didn't have to care about 'featureless' releases hurting market-share.

    50. Re:About time by vux984 · · Score: 1

      To put it simply, you're arguing that bloat is a user-driven 'feature', and that performance, standards implementation and techinical features like process seperation are 'trivial features'?

      No. He didn't say that at all. He argued that that the bloat features are trivial, and should be left for extensions, so that the core developers can focus on the big technical features.

      However, the developers are too user driven, and focus on the trivial bloat that the users request instead of the big technical features.

      I don't think you could have read it any more wrong.

      Forgive me if I can't take the rest of what you said seriously after that.

      You should be apologizing to him.

      No wonder IE and Chrome have managed to become better than Firefox so quickly.

      I hope you can appreciate how hard it is for me to take what you've said seriously now.

    51. Re:About time by The+End+Of+Days · · Score: 1

      You aren't forgiven for the sin of assuming that your opinion means anything to anyone but you.

    52. Re:About time by anaesthetica · · Score: 1

      Frustrating as the self-signed certificate problem may be, I doubt the average email-facebook-nytimes-youtube-pr0n user even knows about the certificate issue, much less cares, much less is willing to switch to another browser over the issue. Again, I think this is an issue where geeks who care passionately about these kind of things confuse themselves for the mass of Firefox's constituents.

    53. Re:About time by Anonymous Coward · · Score: 0

      Assumptions are so much easier than actual facts ! Let me assume you're a moron.

    54. Re:About time by Tumbleweed · · Score: 1

      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.

      I hope that you concentrate on making a good foundation before building the house, though, which was the problem here. Now that they've built the house on a concrete slab, it's a little hard to put in a full basement.

    55. Re:About time by AK+Marc · · Score: 1

      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.

      It was a justified request, or you wouldn't have your competitors rolling it out. If it was a justified request, why was it ignored for so long? If it wasn't important, why is it so important now, after others have it? It was on the "inevitable" list. It was ignored until they have to play catch-up. That is, as was said, lack of vision.

    56. Re:About time by Zashi · · Score: 1

      it's more about one leak not sinking the whole ship.... That's the main reason I want multi-process architecture in firefox. More often than not some crazy ass javascript or flash or java will crash my browser and I loose the 20 tabs or so I also had open. Restore is nice, but it doesn't perfectly restore. Some changes are lost or dynamic pages change.

      --
      Skiffy is Spiffy, but Ort is tort.
    57. Re:About time by plague3106 · · Score: 1

      No commercial program on earth takes advantage of more than two cores, not even the high-end drafting programs on mirrored quad Xeons

      Huh? MS Sql Server certainly does.

    58. Re:About time by Have+Brain+Will+Rent · · Score: 1

      I agree they would probably get better performance out of multi-threading - and they should have done that even on a single processor model just so things with simple content could finish without waiting for more complex content to render. If they had gone multi-threaded long ago then the shift to multi-process would likely be a lot easier to do now.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    59. Re:About time by street+struttin' · · Score: 2, Insightful

      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...

    60. Re:About time by Wolfier · · Score: 1

      I don't see how you can define "these kind of things" to be "only cared by geeks".

      Process separation is very user-facing. It crashes the entire browser when I go to a site with a bad Java applet, the Flash applets slow it down to a crawl when I have many Yahoo tabs, etc. From all of my "non-geek" friends who use FF, responsiveness is apparently something important.

      Let's see. This kind of attitude had got us ... Windows ME.

      You also seem to grossly underestimate the number of non-geeks who have routers at home.

    61. Re:About time by bhima · · Score: 1

      He's also still using DOS

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
    62. Re:About time by bhima · · Score: 1

      I got the impression that was exactly the sort thing Google wanted Chrome to do.

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
    63. Re:About time by Hatta · · Score: 1

      Cuz yeah, Flash locking up the entire browser wasn't a pressing need until IE8 and Chrome. Riiiight.

      Not when there's already an easy solution. I don't remember the last time my browser crashed.

      --
      Give me Classic Slashdot or give me death!
    64. Re:About time by plague3106 · · Score: 1

      Same with Firefox: the end-user features are selling points for the mass of users, whereas technical features are hard for anyone but geeks to get excited about except in an abstract sense.

      Um, the browser NOT crashing when flash crashes is something any user can get excited about.

      The problem with something like process separation isn't that it's trivial, quite the opposite, it's very hard and this serves as a barrier to spending a great deal of time on a feature that only a very few people will care about.

      It was added from IE7 to 8, and there wasn't that long of a delay there. Oh, and a browser NOT crashing is something ALOT of people will care about.

      Way to miss the point.

    65. Re:About time by Anonymous Coward · · Score: 0

      I was part of a real-time software project dealing with a user application. The first year I got there, I was told, don't worry about the real-time requirements, they are still working those out. And I watched the architect tell everyone not to worry about polling and busy loops. Next year, same story. Third year, we finally got real time requirements, but by that time, the cost of removing the polling and busy loops basically overwhelmed the entire project.

      No fear, the architect has been richly rewarded the entire time. /military later canceled most of the program for cost overruns.

    66. Re:About time by Wolfier · · Score: 1

      So you say getting the general mass the users excited is more important than fixing fundamental technical flaws. This is akin to dressing up a building to attract more tenants while delaying fixing its flaky foundations.

      This kind of thinking got us Windows ME. Anyone looking back can tell it's a crappy piece of software even by 1999 standards.

      I hope FF will be viewed in this light, it'll teach the devs not to be too arrogant and start listening to their users.

    67. Re:About time by BitZtream · · Score: 2, Insightful

      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.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    68. Re:About time by BitZtream · · Score: 1

      Considering the popularity of things like flashblock, I'd have to say that if your argument is based on the idea that flash can lock up your browser, than its a safe bet that its not really a pressing need.

      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.

      Its good that you think it should have been in the very first version, thats why you are in charge of a major cross platform multithreaded application which supports all sorts of random plugins and extensions.

      Wait, what? You aren't in charge of such a project? Oh, my bad, well, 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.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    69. Re:About time by ais523 · · Score: 1

      You also seem to grossly underestimate the number of non-geeks who have routers at home.

      You seem to overestimate the number of non-geeks who try to configure their routers themselves.

      --
      (1)DOCOMEFROM!2~.2'~#1WHILE:1<-"'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"
    70. Re:About time by duranaki · · Score: 4, Informative

      My firefox actually does freeze while rendering a page. It's mostly obvious on my slower linux box. Not that I'm disputing its multi-threaded nature, it clearly *can* do two things at once, just not the things I need it to do (like load slashdot while allowing me to click back to another tab).

    71. Re:About time by drsmithy · · Score: 3, Insightful

      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.

    72. Re:About time by anaesthetica · · Score: 1

      Thankfully I'm not saying that flashy features are more important than technical features. What I'm noting is that insofar as Firefox devs are user-driven, and users primarily care about flashy feature but do not understand and do not care about technical features, then Firefox devs have a very strong pressure to focus on features users care about. They've done a great deal to expand Firefox's marketshare in the face of overwhelming odds (95+% IE dominance backed by Microsoft with mountains of cash and institutional path dependency).

      Given the tradeoff between being a 20% browser popular with end users that needs technical work, and being a technically brilliant 1.5% browser popular with geeks (e.g. Chrome) that lacks the standard user-facing features, I think Mozilla would rather have the marketshare+technical problems, rather than the technical brilliance and an insignificant marketshare.

      I think the technical problems are very important, and I wish that Mozilla would spend less time and effort integrating features into the browser, when they could very well be implemented by third-parties as extensions. But I understand why their focus is not what geeks would consider optimal.

    73. Re:About time by Anonymous Coward · · Score: 0

      this verification of [what i believe] only supports [what i believe]

      ...

    74. Re:About time by stevied · · Score: 1

      It is also possible to do non-blocking or async I/O, of course. A pain in the arse in many situations, but some applications are a good fit for a single process / thread model. Given the amount of state involved in modern web browsers, though, they're probably not one of them.

    75. Re:About time by PitaBred · · Score: 1

      And even more likely for consumers, video editing programs can use almost as many cores as you can throw at them. Those are much more common than 3D modeling or drafting programs.

    76. Re:About time by stevied · · Score: 1

      Hmm.. I've been using Firefox since 1.0, and I don't recall ever having a crash. Admittedly I'm getting old and my memory is going, but I'm more certain that I haven't seen one in recent history (2.0 upwards.) And yes, I do use flash. Not heavily, it has to be said, but often enough. The speed improvements in 3.5 were, IMNSHO, a higher priority than this multiprocess stuff ..

    77. Re:About time by Capt.DrumkenBum · · Score: 1

      There is a community developing Thunderbird?!?!?!?!??!??!?!?!? I figured one geek in his parents basement.
      I love Thunderbird, I just with it would improve faster.

      --
      If I were God, wouldn't I protect my churches from acts of me?
    78. Re:About time by Tumbleweed · · Score: 2, Insightful

      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.

    79. Re:About time by Anonymous Coward · · Score: 0

      Copy-on-write works for duplicate data, which is not going to help Firefox (except for the 10-20MB of shared libraries). Most of Firefox's memory usage is due to aggressive caching... so, unless you are viewing the same website in every process, copy-on-write will not help.

    80. Re:About time by BZ · · Score: 1

      > Remember, back then they were doing a complete code rewrite anyway.

      The last "complete" rewrite of the relevant code was 10 years ago.

      5+ years ago we're talking mostly UI changes, not changes to the core web page rendering code.

    81. Re:About time by BZ · · Score: 2, Informative

      > But the smaller, leaner, more approachable codebase goal?

      Somewhat. It doesn't get blogged about much, and when it's blogged about the press doesn't pick it up because nitty-gritty arch work is boring. But there have in fact been significant simplifications to all sorts of stuff in the meantime...

      The really ambitious "break compat and all" plan for Mozilla2 seems to have been somewhat abandoned for now, though.

    82. Re:About time by Vectronic · · Score: 1

      True, but that wasn't really my point, for argumentative purposes, most P2P, Instant Messengers, Media Players, File Archivers, or pretty much any MDI application, or applications that do a background task while still doing the foreground task, will also use as many as it finds necessary. Any application with more than 1 thread, can use more than one processor unless specifically told otherwise.

    83. Re:About time by R.Mo_Robert · · Score: 1

      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.

      Complete rewrite? I don't think I'd say that much. While they scrapped large portions of the old Mozilla suite code (like the "suite" part) due to software bloat, they kept almost everything the same under the hood, including the use of XUL and Gecko. It is esentially a trimmed-down browser UI running on top of the old Mozilla framework. (Or was a trimmed-down browser; it's got a hefty feature set these days. And, as part of *bird/fox development, they've made tons of helpful changes to the Mozilla codebase along the way.)

      Eleven years ago, of course, there was a complete rewrite. I don't know how practical or helpful it would have been at that time, however.

      --
      R.Mo
    84. Re:About time by Ihmhi · · Score: 1

      So if one page out of all of my tabs spazzes out on me, will it just crash that one page and not the whole browser? Because that would be awesome. It takes a minute to reload all of my tabs.

    85. Re:About time by kasper123 · · Score: 1

      In a single process environment all calls are blocking. So the fact that you use the term non-blocking suggest that you are implicit making use of more than one *process*

      It amazes me...

    86. Re:About time by WuphonsReach · · Score: 1

      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.

      The problems with the current Firefox single-threaded model for everything have been apparent to all but the most casual users for at least 3 years now. Constant lockups and stuttering when you'd open up tabs in the background, the issue where the browser seems to hang while looking up or retrieving content, or the crashes that would take down the entire browser instead of just one window or one tab.

      Which is why there's a lot of "what took you so long" sentiment going around. This is not simply an issue that cropped up because Google did multi-threading with Chrome.

      --
      Wolde you bothe eate your cake, and have your cake?
    87. Re:About time by CoughDropAddict · · Score: 1

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

      It does freeze during rendering and downloading. Simple way to reproduce: navigate to a 100MB file and see what happens to the UI.

    88. Re:About time by bytesex · · Score: 1

      Well, I've interacted with them in small ways in the past, and they've been most helpful always. That being said - didn't we use to have this whole 'multi-process' thingy before the days that it all went to some sort of IPC of the same process ? So what's new about it ?

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    89. Re:About time by atraintocry · · Score: 1

      Jesus, I don't know what you people are doing that your browser crashes every day. For me it's maybe 3 times a year, if that.

      It'd be one thing if FF (or Flash) crashed all the time, and then yes you could paint the FF team as ignoring a fundamental flaw. But that's not the case, and you know it. I'm glad they spend the time on the new location bar and the new bookmark system. I actually use those.

    90. Re:About time by atraintocry · · Score: 1

      Stop being so damn reasonable. It's Slashdot. Pick a side and childishly refuse to acknowledge the other or GTFO.

    91. Re:About time by Anonymous Coward · · Score: 1, Informative

      Actually, there's no such thing as an OutOfMemoryException in Java.

    92. Re:About time by Anonymous Coward · · Score: 0

      As an example x264, an open source h.264 enocder, scales very well with the number of cores. You can take a look at this chart and compare dual and quadcore processors from the same family with the same clock speed. The second pass of the x264 encode is what you should look at since frametype decision, which is done in the first pass, isn't threaded in x264.

    93. Re:About time by mdwh2 · · Score: 1

      Competition is good, I guess.

      A few years ago, people were claiming that it was Firefox that caused Microsoft to start updating IE again - amusing to now see it the other way round...

    94. Re:About time by Anonymous Coward · · Score: 0

      Wrong. "select" is a keyword here.

      Google for "Twisted" and read it's docs. It's a Python library that does it very well. And it is single-threaded (if you don't explicitly choose a multi-threaded reactor).

    95. Re:About time by dirvine · · Score: 1
      I am interested in how you can make blocking code in a single thread appear as though it was in multi threads and non blocking, aside from multi core threads reacting like a single thread or using a reactor type (thread) with async programming. I am not being facetious but just what process do you use here to give this appearance.

      I am always amazed by folks who profess to say a callback can appear multi threaded, I am not sure if this is what you mean but it would appear to me to be not possible, although I am genuinely interested.

    96. Re:About time by Beetle+B. · · Score: 1

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

      4 was actually the good one. It was 4.5 that kept crashing.

      --
      Beetle B.
    97. Re:About time by SanityInAnarchy · · Score: 3, Informative

      A non-blocking call implies multi-threaded design, genius.

      It really doesn't. Maybe a similar design to a multithreaded app, but more accurately an event model, not a thread model. It's cooperative multitasking, which means it won't hit multiple processors, and generally won't have anywhere near the same kind of concurrency issues.

      I suppose you could make the argument that the OS is doing the threading for you, or that it's a kind of green threads, but at that point, it's both a semantic argument, and it's losing any semblance of meaning of "threaded".

      --
      Don't thank God, thank a doctor!
    98. Re:About time by mR.bRiGhTsId3 · · Score: 1

      I/O multiplexing is a technique by which you can examine file handles to determine if a read or write will actually block on that particular call. For instance, does the input buffer for a network socket have enough data that you can read from it without blocking. When dealing with multiple streams you essentially loop and repeatedly check which input sources are ready to read from. The actual structure is very similar to the main-loop in gui applications which must repeatedly check for input from the mouse, keyboard, etc. For POSIX systems, it is generally the select function which allows this behavior.

    99. Re:About time by SanityInAnarchy · · Score: 1

      Any application with more than 1 thread, can use more than one processor unless specifically told otherwise.

      Any well-designed application.

      Any application using threads necessarily has some sort of synchronization. Without thinking carefully about that, you could easily lock yourself to one or two cores. Even with careful planning, most applications don't make it easy to fully utilize all cores.

      --
      Don't thank God, thank a doctor!
    100. Re:About time by Anonymous Coward · · Score: 0

      I have never had flash lock up a firefox thread. What are you doing wrong? Flash playback does freeze when I let it run amock on sites but that is the worst of it. That says to me that it is a flash problem and not a Firefox problem. In the end, Flashblock lets flash be functional when I actually want to use it.

      Seriously, what the hell did you do to your browser?

    101. Re:About time by Anonymous Coward · · Score: 0

      Hmmm, I want a browser that doesn't fucking take up 1 GB of RAM just to view 5 pages. That's the reason I don't use Chrome, and the reason I won't be using "every tab its own process" Firefox.

      Hello Opera!

    102. Re:About time by BitZtream · · Score: 1

      You've never actually written any code have you?

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    103. Re:About time by Anonymous Coward · · Score: 0

      Stack and also heap. Heap is quite large.

    104. Re:About time by dirtyhippie · · Score: 2, Interesting

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

    105. Re:About time by BitZtream · · Score: 1

      Non-blocking implies re-entrancy, not multiple threads, thanks for pretending to have a clue.

      If you think multithreaded apps are simpler than single threaded apps you've never written a multithreaded app, at least not in any language that actually supports real threads, not some sort of internal hack like the crap Ruby pulls. The fact that you have to watch out for race conditions alone makes it more complicated.

      GTK, Cocoa, and MFC classes for Windows all use background threads for certain operations. Donno about KDE, but I'd bet it does too. Again, have you ever actually written any code or are you a freshman still reading your into to computer science text book?

      Yes, I'm condescending, but when you're a twit and act like you know everything while spewing shit thats simply wrong, you're going to get condescending, thats just life, sorry.

      And yes, it is ironic that you call me condescending directly before quoting the line where I mock you for being a condescending idiot.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    106. Re:About time by BitZtream · · Score: 1

      Or the kernel. Ever used select()? Perfect example of an API call that helps facilitate making a single threaded app appear multithreaded.

      If you want to get technical, its more like cooperative threading inside the app rather than preemptive threading provided by the OS.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    107. Re:About time by Jesus_666 · · Score: 1

      It's been a while since I last used Java; I don't really remember all Throwables correctly.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    108. Re:About time by dudpixel · · Score: 1

      this isn't going to stop flash locking up your browser. it also wont stop any calls from blocking while you're trying to load a web page.

      All it does it stop these things affecting OTHER web pages (except that IO tends to freeze everything in windows - but thats another story).

      If all you're ever looking at are these OTHER web pages, then dont load the one with flash at all, and then you wont need multi-process.

      I think people get caught up in stuff like this without realising that all we really need is a fast, stable browser. I personally think we have a more stable browser in firefox than either chrome or IE, already. Sure multi-process will help when used with a multi-core processor for browsing processor-intensive websites...but how often do you do that?

      I had this conversation with an IE user who was promoting the use of multi-process.

      Me: Why do you need multi-process?
      IEU: Because if one tab crashes, the other tabs will keep running. Firefox doesn't have this feature.
      Me: So...when you've used firefox, did it ever crash?
      IEU: No.
      Me: and...when you're using IE, does it crash?
      IEU: yes, but because its multi-process, it doesn't crash the other tabs...
      Me: what?!

      --
      This seemed like a reasonable sig at the time.
    109. Re:About time by BikeHelmet · · Score: 1

      I've noted the same thing on my single-core Athlon XP.

      But on my Athlon X2, I can flip tabs while slashdot is loading, just fine.

    110. Re:About time by Anonymous Coward · · Score: 0

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

      What kind of advise is this? Is like I say my jaguar have a loose screw that is making noise and you said to me to get a new yugo with all his screw tight.

    111. Re:About time by dcam · · Score: 1

      It was better than IE4. I would happily say that I loved it at the time. Of course it looks like excrement now as a result of improvements in the browsers.

      --
      meh
    112. Re:About time by Anonymous Coward · · Score: 0

      What "developer community"? The idea never left Mountain View; it was never publicly discussed.

      The community was never involved.

    113. Re:About time by Phroggy · · Score: 1

      The trouble was, when users complained about Flash-related performance or stability problems, Mozilla developers would typically respond "try disabling plugins and extensions, and if the problem goes away, the matter is resolved." This is a common problem of open source: users and developers don't have the same kinds of problems, and developers aren't especially interested in meeting the needs of the users, preferring instead to continue to meet the needs of the developers.

      Of course, if Flash were open-source, it might be possible to improve the performance and stability, so users wouldn't complain to Mozilla. Adobe obviously isn't going to do it. Since that's not happening, we need to expect plugins to be buggy and unstable, and work around the problem instead of hoping the problem gets fixed.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    114. Re:About time by zoips · · Score: 1

      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.

      A non-blocking call implies multi-threaded design, genius.

      No it doesn't. Silly example: it's possible to do non-blocking/pseudo-threading in Javascript in 1.7 because of generators. Single thread, but it's essentially cooperative multitasking. Io does something similar with actors, as can Erlang.

    115. Re:About time by complete+loony · · Score: 1

      You might find this kind of test useful;
      if (dnsDomainIs(host, ".local") || isPlainHostName(host)) { return "DIRECT"; }

      Assuming you always access "local" machines from a short list of domain names.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    116. Re:About time by Eskarel · · Score: 1

      There's also a large number of problems created by this solution.

      A split process or even split thread model creates a much larger resource footprint than not splitting it on that basis. This is essentially because each process and often times each thread requires it's own copy of shared state in order to be independent. On the other hand, stability between threads and even plugins is actually pretty rarely an issue. Crash to Desktops are pretty rare these days, and performance isn't actually all that terrible.

      That's not to say that rearchitecting Firefox to have fewer blocking issues wouldn't be a very good idea, but there's certainly some arguments to be made that the Chrome and IE 8 models aren't the ideal solution. Personally I think that from a purely technical point of view IE 6 actually has the right model(when it's enabled), sad as that makes me since everything else about that application is atrocious and outdated. New windows/tabs(yes I know IE 6 doesn't have tabs, but that's not the point) created from one core process all share the same process. Windows created by reloading the application don't share state with the other windows at all. This would mean you could create independent processes for the times it matters(where a crash to that tab/window would have negative consequences, but share threads between tabs/windows that don't matter so they use fewer resources. Combine that with some additional threading on activities which are likely to block and you'd probably have a better overall solution than Chrome.

      There is a tradeoff between reliability and performance and sometimes the reliability just isn't worth the cost. It's like getting nine nines for a data center. You can do it, but it's going to cost you an absolutely stupendous amount of money, and in most cases it just isn't worth it.

    117. Re:About time by Anonymous Coward · · Score: 0

      My C7 box needs around 10 seconds for it to load Slashdot (but with FF3.5 it's gown down to 5), while my Sempron & Athlon X2 boxes did it nearly instantly.

    118. Re:About time by rdnetto · · Score: 1

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

      It's a programmer thing. To everyone else both are parallelization. Remember, this is news for nerds, not programmers.

      --
      Most human behaviour can be explained in terms of identity.
    119. Re:About time by MadUndergrad · · Score: 1

      "won't be affected" goddamnit. Why can't slashdotters get this stuff right? It's really not that hard, I promise.

    120. Re:About time by kauttapiste · · Score: 1

      I run HP-UX you insensitive clod!

    121. Re:About time by jonadab · · Score: 2, Informative

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

      Whippersnapper. You say "never" because you're too young to remember.

      When Navigator 4.0 was first out, and people were comparing it to version 3, the new version was a huge improvement. It wasn't until it'd been out for several years and the most significant update was the Communicator suite (which used more memory and didn't improve the browsing experience at all) that the cheers started to turn into groans, and then when version 5 didn't come out, and didn't come out, and didn't come out, the groans eventually turned to outright boos and hisses. But that was years later.

      Heck, I remember when people loved Netscape 2. Of course, back then the other main option was NCSA Mosaic. Or gopher.

      Do I want to use any of that stuff *now*? Not on your life. But I loved Navigator 4.08 well enough in its day.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    122. Re:About time by plague3106 · · Score: 1

      Funny, because the location bar and bookmarks are useless for me.

      Oh, and yes, Flash crashing FF is fairly common. Just because its something YOU don't use doesn't mean its not common. Try doing some googling, plenty of people have the flash plugin crashing firefox.

      Plugins shouldn't crash the browser, EVER.

    123. Re:About time by Anonymous Coward · · Score: 0

      Really. And all this wouldn't even be a problem if they just wrote it in Java to begin with.

      *cringe*

    124. Re:About time by fedxone-v86 · · Score: 1

      > I also want a browser that doesn't completely freeze when a Java applet launches or PDF file opens.

      So what you want is your car being pulled by your old horses without slowing the car down. I really like the Ford quote ;)

      A web browser is not a PDF viewer and it's not a JVM either. The whole idea of having external plugins bring functionality to the browser for which it was never designed is a complete mess. This is why there are only workarounds so far. (In some way like plugins have been workarounds for missing browser features, in the first place.) Replacing the current plugin architecture will be the real solution.

      --
      (USER WAS PUT ON PROBATION FOR THIS POST)
    125. Re:About time by drsmithy · · Score: 1

      Whippersnapper. You say "never" because you're too young to remember.

      I remember it quite well. I had been using Navigator since the 1.0 betas (heck, since it was still called Mosaic), after all.

      When Navigator 4.0 was first out, and people were comparing it to version 3, the new version was a huge improvement.

      Actually they were comparing it to IE4, which destroyed it in pretty much every measurable way - faster, more stable, less buggy, and more standards compliant. Heck, people were comparing it to the IE4 betas and preferring them.

      Do I want to use any of that stuff *now*? Not on your life. But I loved Navigator 4.08 well enough in its day.

      4.08 ? That's over a year and half after the release of 4.0. By then they had, at least, managed to beat some of the awfulness out of it - but IE4 was still much better and people were turning to it and the very-soon-to-be-released IE5.

      I think you need to take of your rosy glasses. The collective suck of Navigator 4.x basically cost Netscape the "Browser wars".

    126. Re:About time by Anonymous Coward · · Score: 0

      Like many corporations, Mozilla products are not on the IT division's officially supported list. So if it works fine in IE, the admins won't be doing anything about it.

      They've gone so far as to take sites that render fine in Firefox and intentionally break them if they report a non-IE user agent. I know of at least one internal tool that works perfectly with Firefox if User Agent Switcher is used to make it report itself as IE 8.

      But if it reports itself as what it really is (Firefox), the site breaks.

    127. Re:About time by IntlHarvester · · Score: 1

      The whole idea of having external plugins bring functionality to the browser for which it was never designed is a complete mess. This is why there are only workarounds so far.

      I think that's a cop-out. Plug-ins have been part of the browsing experience since about 1996, primarily because the browser vendors heavily promoted them. They've had plenty of time to adapt to ensure that crappy plugins aren't hurting the user experience.

      --
      Business. Numbers. Money. People. Computer World.
    128. Re:About time by jonadab · · Score: 1

      > Actually they were comparing [NN4] to IE4, which
      > destroyed it in pretty much every measurable way

      That's the stupidest thing I've heard all week. IE wasn't better than Netscape until at least version 5.5. It had more market share, but that was mostly because it came bundled with Windows. Nobody used IE4 on *purpose*.

      > The collective suck of Navigator 4.x basically cost Netscape the "Browser wars".

      The inability to produce an updated version on a reasonable timescale cost them the First Browser War (or else it was the fact that IE was pre-installed at the factory, or both). Netscape 4 was a good deal better than IE4, the first thing you downloaded when you got a new computer. But then IE5 came out, it Netscape was still at version 4 and only a little better than IE5. Then IE 5.5 came out, and Netscape was still at version 4, and it wasn't better at all any more.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    129. Re:About time by Mattsson · · Score: 1

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

      Though, even with a fully process-separated browser, the adblock/noscript-workarounds would still be necessary.
      Not to work around the problem of browser hangups, but to work around the problem of sites having too much ads and scripts, the solution to which is a total redesign of a large percentage of all websites. =)

      --
      /.Mattsson - My native language is not English, so please don't whine over linguistic errors. (That's lame anyway...)
    130. Re:About time by MikeFM · · Score: 1

      Are you kidding? IE freaks up from Java or Flash at least as much as FF. I haven't done much with IE8 but IE7 still had serious issues - I think it's a curse from plugins. They never work right in the real world.

      Of course IE (even 8) has so many issues you might not notice. Even today I had to debug and fix a nasty rendering error that was still a problem in IE8 but not in Firefox, Chrome, Opera, or Safari. Lovely.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    131. Re:About time by IntlHarvester · · Score: 1

      When Navigator 4.0 was first out, and people were comparing it to version 3, the new version was a huge improvement. It wasn't until it'd been out for several years and the most significant update was the Communicator suite (which used more memory and didn't improve the browsing experience at all) that the cheers started to turn into groans,

      I think you're misremembering things. Netscape 4 was released as Communicator. The standalone Navigator program wasn't re-released until sometime later, due to user complaints.

      Also Netscape 4.00 was buggy, slow, and completely unusable, plus it came with some Java desktop applet crap called Netcaster. It wasn't until something like 4.05 that it was even feasible to replace NN3.

      --
      Business. Numbers. Money. People. Computer World.
    132. Re:About time by IntlHarvester · · Score: 1

      Thanks Grandpa Simpson, but just because you remember some opinion you held, doesn't make it factually true.

      --
      Business. Numbers. Money. People. Computer World.
    133. Re:About time by IntlHarvester · · Score: 1

      IE doesn't have the problem where something in Window #1 locks up Window #2.

      And certainly plugins are still problematic, but when you open a new window, they are restarted. Firefox shares the same code between all windows, so you have to restart the entire browser.

      FYI, this user prefers Chrome, because IMO they've worked hard to make the basic user experience better than IE, while Firefox seems to be more worried about extendibility and developer features.

      --
      Business. Numbers. Money. People. Computer World.
    134. Re:About time by Ying+Hu · · Score: 1

      Sorry, I've used Opera with many tabs open as well, and it develops pretty much the same problems as Firefox (and I have no idea what its threading/process structure is) - it freezes frequently, doesn't seem to then accept a process STOP, but only KILL (Linux), and uses huge amounts of RAM. While Opera 10 may have improved, if you think the older ones were better than Firefox, then you weren't (from the perspective of my experience with it) using it heavily.

    135. Re:About time by Ying+Hu · · Score: 1

      I'm not disagreeing with the main point of your comment, but

      Crash to Desktops are pretty rare these days, and performance isn't actually all that terrible.

      What browser are you using? Crashes are common - say once a week at a minimum. Firefox (along with Opera, and sometimes multimedia players and Java) is an application that in my experience actually makes Linux less stable than modern Windows, because it and the other programs I mention somehow get some hook into X, and when they go, X is badly affected as well. (At its worst, I've had it bring the Linux kernel to a grinding halt - a reproducible and infuriating bug two or three Ubuntus back.)

      Performance has improved tremendously from FF 3 to 3.5, and over the last few releases of Opera - but it's still nowhere as good as it should be - open a bunch of tabs, and after a bit you'll be maxing out at least one core.

    136. Re:About time by Ying+Hu · · Score: 1

      You must be using your browser very gently. Have many tabs/windows open, don't control when your JavaScript and/or Flash/Shockwave are running, don't pay attention when a CPU maxes out, and the browsers crash (and race) a lot.

      (I also agree with your other responder, as I don't like what the FF developers are or have been doing with location bar, bookmarks, etc. - I don't use them much now, either.)

    137. Re:About time by dirtyhippie · · Score: 1

      Did you miss the bit about upgrading to ext4? It's painless.

    138. Re:About time by badkarmadayaccount · · Score: 1

      Better idea, make them not crash. Sign up with C programmers anonymous or something.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    139. Re:About time by collinstocks · · Score: 1

      > But the smaller, leaner, more approachable codebase goal?

      Somewhat. It doesn't get blogged about much, and when it's blogged about the press doesn't pick it up because nitty-gritty arch work is boring. But there have in fact been significant simplifications to all sorts of stuff in the meantime...

      So does this mean that it won't take several hours to compile it anymore?

    140. Re:About time by BZ · · Score: 1

      "Smaller codebase" is usually a matter of programmer-perceived size (and hence reduced complexity). Compile time is a matter of generated code, so macros or templates will affect it to a great extent.

      That said, a from-scratch Firefox compile takes 20-30 minutes on my machine (a year-old laptop). Should be faster on a desktop machine with a faster disk. That's on Mac or Linux. The Windows compiler is a bit slower (and generates better code), and Window build time is heavily affected by the slow cygwin disk acccess and the cost of forking all those make processes for all the directories. So build times are longer there.

      In any case, last I checked a full-featured browser built on top of Webkit didn't compile any faster. And heck, it's not much less code by lines of code, either... The fact is, browsers do too much. :(

    141. Re:About time by collinstocks · · Score: 1

      By blocking, BitZtream is talking about blocking for a significant amount of time. Technically, all calls are blocking, but there is a significant difference between blocking for a few milliseconds or blocking for a few tenths of a second. For example, reading from a pipe can block for a long time if nothing is writing to the other end; however, you can tell the read function to be non-blocking, and just return an error or nothing if there is nothing to read at the moment.

      Obviously, these are system calls. And, being system calls, they are talking to another process, namely part of the kernel. However, this does not make your program multithreaded, because if it did, by that definition, there would be no such thing as a single threaded program on any OS that uses process switching.

    142. Re:About time by collinstocks · · Score: 1

      Another simple way to reproduce:

      1) Turn off immediately switching to new tab
      2) Go to the slashdot index page
      3) Middle click "Read More..." on any article
      4) Try to scroll down the page
      5) ???
      6) Profit!

      But in all seriousness, this can be a problem when browsing slashdot!

    143. Re:About time by MikeFM · · Score: 1

      I don't know. I've seen one IE window take down all IE windows and even screw the OS plenty of times. It might protect from certain errors but it obviously doesn't protect against all issues.

      I don't really care for Chrome much. I mostly use Firefox and Safari. Chrome and Opera are okay but I just don't like them quite as much. Probably a personal thing. I am a developer so maybe that's why I like Firefox best.

      I would like FF to not block connections on the same site if one is busy but it wouldn't be worth making it so I can't have as many tabs open.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
  2. Nice by suso · · Score: 3, Insightful

    This is cool. Competition is good.

    1. Re:Nice by mr+crypto · · Score: 1

      They should call it skulk ...

    2. Re:Nice by ShadowRangerRIT · · Score: 3, Informative

      Correct me if I'm wrong, but wasn't Firefox working on JS speed before Chrome was announced?

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    3. Re:Nice by two+basket+skinner · · Score: 1

      separate plugins might improve security but if they aren't careful, all those heavy-weight process will tie up resources. Ive never looked at the code but this was my first impression of chrome last year, though that impression has changed over time. Heres to hoping the firefox team learns from chrome

    4. Re:Nice by RebelWebmaster · · Score: 1

      Yes

    5. Re:Nice by CannonballHead · · Score: 2, Insightful

      "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"? :)

    6. Re:Nice by Anonymous Coward · · Score: 0

      No doubt they were, but Chrome's V8 did raise the bar, although I believe WebKit's SqirrelFish Extreme is the speed king.

      AFAIK FireFox's Tamarin JVM has quite a bit of catching up to do.

    7. Re:Nice by dq5+studios · · Score: 1

      You are correct. Apple was working on their new JS engine at the same time as well.

    8. Re:Nice by anaesthetica · · Score: 5, Informative

      Yes, they were. TraceMonkey was started in earnest in early summer 2008. Chrome was (accidentally) announced 1 September 2008.

    9. Re:Nice by Anonymous Coward · · Score: 0

      "I believe WebKit's SqirrelFish Extreme is the speed king"

      LOL! No...

      V8 kicks the shit out of everything else in real world performance.

    10. Re:Nice by Anonymous Coward · · Score: 0

      Correct me if I'm wrong, but wasn't Firefox working on JS speed before Chrome was announced?

      Correct me if I'm wrong, but wasn't Google working on Chrome before it was announced too? Or maybe they just grabbed it out of thin air on announcement day.

    11. Re:Nice by Anonymous Coward · · Score: 0

      Sounds like a good idea to make the web browser more robust since it's been trying to take over the desktop ever since 1995 or so. Nevertheless, this plan could be fraught with peril. Simple multiprocess applications work great. Complex ones don't always if they ever do. For one thing, tabs have really caught on, at least with me, but trying to get all these processes to play nice together inside of a single X window doesn't sound like something that will be easily debugged to work well on your favorite OS and windowing system. Should implementing the latter *really* be a mozilla problem or an X extension? As it is, X needs a lot of work. All of this should arguably be less of a disaster than Windows explorer (not even interested in talking about Internet Explorer), but in the end the result of this initiative might be just more bloat and overhead for the same functionality.

    12. Re:Nice by ShadowRangerRIT · · Score: 1

      The point is that competition from Chrome was *not* responsible for forcing improvements in Firefox. Moving to separate processes is arguably a result of competition from Chrome (and subsequently IE8), but the need for improved JavaScript engines was recognized without being pushed by an, at the time, unannounced browser. Wider deployment of AJAX and other JS intensive websites demanded it.

      Of course, the fact that Google was contributing to the trend (GMail, Google Docs) and aiding others by making it easier to deploy lots of JS-based pages (Google Web Toolkit) means that Google did direct some of Firefox's ambitions. It just didn't do it with Chrome.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
  3. Processes, processes, processes! by jeffb+(2.718) · · Score: 2, Funny

    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.

    This sentence was a little hard to process.

    (I note that the "process" of Slashdot incremental improvement has now reached a point where clicking anywhere in the text-entry box causes the box to LOSE focus. If you don't want us using Safari, there are more efficient ways to get us to move.)

    1. Re:Processes, processes, processes! by ChefInnocent · · Score: 1

      I thought they didn't want us to use IE.

  4. That's good by Junior+J.+Junior+III · · Score: 3, Funny

    I was concerned that Firefox wasn't using as much of my system's RAM as it could. I bought 8GB, and I intend to use it.

    In all seriousness, this is good. It should handle crashes and frozen processes better, like Chrome.

    Thanks google, and thanks mozilla, for helping to drive competition and make the web browser better.

    --
    You see? You see? Your stupid minds! Stupid! Stupid!
    1. Re:That's good by Anonymous Coward · · Score: 0

      Not to mention drive consumers to purchase more of said RAM.

    2. Re:That's good by gad_zuki! · · Score: 1

      >Thanks google, and thanks mozilla, for helping to drive competition and make the web browser better.

      Ironically, the reason why this is happening is because IE8 has it today and the Firefox team is feeling left behind. If anyone should be thanked its Google and then MS for keeping FF honest. Funny how things turn out.

    3. Re:That's good by Anonymous Coward · · Score: 0

      Not to mention the 4-32 processing units that we will soon enough find in _all_ computers, including netbooks probably.

      It should handle crashes and frozen processes better, like Chrome.

      The ability to let the whole browser crash and then restore everything on restart removed 90% of the hassle of crashing tabs.

      But I suppose that the ability to let one tab crash will become more important as people try to program more real time functionality into their web apps.

      It won't save the overhead of saving data for restoration purposes, because restore will still be needed in case (or when) the whole browser somehow manages to crash, anyway.

    4. Re:That's good by Eskarel · · Score: 1

      IE has had it(well a version of it) for the better part of a decade. Every time you launch IE 6, unlike Firefox and Chrome, it spins up a new process, and pretty much has for quite some time.

      True they mostly did that because it was necessary for the file explorer since for a while the browser and file explorer were the same thing, as opposed to because it was a good idea for the browser, but they still did it a long time ago.

  5. Re:I love how.. by LizardKing · · Score: 2, Insightful

    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.

  6. So sad... by Anonymous Coward · · Score: 0, Interesting

    ...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.

    1. Re:So sad... by TofuMatt · · Score: 5, Informative

      Actually, they're talking about multiple processes, not multithreading. Threads all belong to a single process, which, if it crashes, will bring down all of its threads. Running the shell in one process, then each tab/window in its own process means that, much like Chrome, a single page can't bring down the myriad of tabs/windows you might have open, if you browse the web like I do.

      --
      -Matthew Riley "TofuMatt" MacPherson
      I have a website
    2. Re:So sad... by Thiez · · Score: 2, Insightful

      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.

    3. Re:So sad... by Anonymous Coward · · Score: 0

      Netscape Navigator just called...

    4. Re:So sad... by funkatron · · Score: 1

      I would already expect it to be multithreaded, otherwise waiting for the network would slow down other parts of the browser. The changes proposed are a move to a multi-process model where each tab is unable to interfere with the rest of the browser, effectively constraining any problems to the tab in which they occur.

      --
      "Welcome to our world. We are the wasted youth. And we are the future too." Yes, I know these are stupid lyrics.
    5. Re:So sad... by vlm · · Score: 1, Funny

      .... said the six digit UID to the seven digit UID.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    6. Re:So sad... by DMUTPeregrine · · Score: 1

      Firefox is already multithreaded. This is multiprocessing, which is different. Threads are subsets of a process, and if a thread crashes the whole process crashes. This will allow one process (tab) to crash without crashing the entire browser. Each process (tab, UI) can be multithreaded, allowing for performance gains.

      The downside, of course, is that processes generally require more overhead than tabs.

      --
      Not a sentence!
    7. Re:So sad... by BlueCollarCamel · · Score: 1

      You intentionally browse to bring down all your tabs and windows?

      --
      1&1 - Cheap domain and web hosting.
    8. Re:So sad... by FishWithAHammer · · Score: 1

      I used to have a UID in the low 100000's, but I lost the password and the email address that tied to it. :-/

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    9. Re:So sad... by selven · · Score: 1

      I'm reading this and mere hours ago I bumped into someone commenting about how everyone in an argument about Slashdot seniority says this.

    10. Re:So sad... by koh · · Score: 1

      You do not have to use multiple threads in order to wait for the network without locking your UI. select(2) has existed since the dawn of time, and there are other ways now to achieve the same thing. Multithreading only spans better to multiple cores and is a little easier to write.

      --
      Karma cannot be described by words alone.
    11. Re:So sad... by treeves · · Score: 1

      If you "lost the password" you deserve a 7-digit UID!

      --
      ...the future crusty old bastards are already drinking the Kool-Aid.
    12. Re:So sad... by BitZtream · · Score: 1

      Just for reference, there is no technical reason that a crashed thread has to bring the whole application down.

      Exception handling exists for a reason, unfortunately too many zealots are afraid to actually use it.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    13. Re:So sad... by Your.Master · · Score: 1

      Well, that's true, but any heap corruption from the execution of the thread before it crashed but after it entered a bad state could potentially put all the rest of the tabs in a bad state. To avoid that you'll have to play with the allocators for thread-level memory isolation except for a few shared memory segments, but that's basically re-implementing the OS-level process isolation anyway.

    14. Re:So sad... by Anonymous Coward · · Score: 0

      God you're such a scrub. Good thing you posted AC fag.

    15. Re:So sad... by Millennium · · Score: 1

      Oh, for crying out loud; if you're going to use Slashdot UIDs as some kind of reverse e-peen where smaller is better, then would both of you kindly tremble in awe at my imposing UID and cut the silly seniority crap out?

    16. Re:So sad... by atraintocry · · Score: 1

      The trolling is spot on...what worries me are the positive mods.

      Any app with GUI has a good reason to be multi-threaded...we don't expect a button to stay down if it triggers, say, network activity, we expect it to come back up immediately regardless of how long the activity takes.

      And anyway this isn't about multi-threading at all. So what's with the mods? I think someone smelled some (misguided) cynicism on the post and said, "yeah, now there's a sentiment I can get behind!"

    17. Re:So sad... by Anonymous Coward · · Score: 0

      So you're the one who hacked my 4-digit account and took all of the social standing I could ever get away from me!

  7. Nice of them to announce that by Pentium100 · · Score: 0

    Now I'll know that before updating Firefox I have to carefully read the "what's new in version x.y" part.

  8. I think I prefer a single process by 89cents · · Score: 1

    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. If the browser is stable, what benefit do multi-processes have? Multiple Firefox processes seems like unnecessary overhead. 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?

    1. Re:I think I prefer a single process by Anonymous Coward · · Score: 0

      I'd prefer multiple threads (and a single process) over multiple processes.

      -V

    2. Re:I think I prefer a single process by runningduck · · Score: 1

      There shouldn't be too much overhead being most modern OSs use shared code pages and copy on write memory management.

      While pages generally do not crash browsers plug-ins do! By launching the plug-ins with the page rendering process the browser should be able to isolate and minimize the impact.

      If the engineers design the changes intelligently all the page metadata should remain within the parent process. This greatly simplifies caching and coherency--which they appear to be discussing in the article. The only components that should be pushed into the child processes are things which execute uncontrolled and untrusted content.

      --
      -rd
    3. Re:I think I prefer a single process by Millennium · · Score: 4, Interesting

      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.

    4. Re:I think I prefer a single process by The+Moof · · Score: 1

      I would prefer multiple processes, especially for things like plugin support. Nothing like watching one poorly written swf hose all of your browsers for a minute. Also, there are still a few javascript tricks to lock the browser, forcing a manual kill. It'd be nice to just kill the offending process instead of killing everything.

    5. Re:I think I prefer a single process by ShadowRangerRIT · · Score: 1

      On *Nix systems, process creation overhead is low enough, and thread cost high enough, that the perf hit will probably be negligible. Problem is, Windows tends to do poorly on process creation, while handling multi-threading fairly well.

      In both cases, the costs are seen at creation time (I haven't looked into whether the scheduler for each is optimized for one or the other). This does mean that a multi-tab bookmark (like my 30 webcomic bookmark at home) may start taking noticeably longer to load on Windows machines. Then again, it seems to have slowed down slightly in FF 3.5 anyway (that may be just a UI change though, it's not like I read them all inside of five seconds).

      Of course, I'd also like to see browsers and plugins go 64 bit; the built-in nulls in memory addresses make buffer overruns much harder to exploit, and I'd prefer they work on security for a little.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    6. Re:I think I prefer a single process by Anonymous Coward · · Score: 0

      Bingo. An increase in the number of moving parts needed to render a frickin' web page is a really dumb idea.

    7. Re:I think I prefer a single process by FishWithAHammer · · Score: 1

      You've missed many things.

      Just because you aren't crashing Firefox doesn't mean that it doesn't still crash very often.

      The authentication store is controlled by the master process so other tabs can access it (at least in Chrome, though given Mozilla's determination to fuck up I would not be surprised if they had problems with this).

      It only appears to be unnecessary overhead because you don't know what's going on. Try to keep up.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    8. Re:I think I prefer a single process by Jesus_666 · · Score: 1

      eBay is currently testing a new article page layout. If you get to see it you will also see a link to an "info tour" about it. Said info tour is a Flash animation that reliably crashes both Firefox 3.5 and Safari 4 under OS X; I suspect that it hits a bug in the OS X Flash Player.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    9. Re:I think I prefer a single process by BitZtream · · Score: 1

      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.

      One thread can't hog the cpu in any given process either. You don't need multi-process to avoid getting screwed by bad code, you just need a framework that doesn't suck ass. If you have an OS in which one thread of a process can prevent other threads of equal priority in the same process from getting CPU time than your OS sucks ass. Fix it and make threads work like they are supposed to. I have to admit, I'm not sure what obscure OS you're using that has such shitty thread queuing though, I've not been privy to that since I used Windows 9x.

      Interestingly enough, the whole multi-process thing is finally getting back around to where we were in unix 30 years ago. Yea! We've reinvented the wheel! I'm not complaining as it means we're finally getting rid of the ignorant fucks of programmers who think that one process should do everything (poorly) and back to smaller processes that do one thing and do it well.

      Thanks for giving out some ignorant information though, slashdot is better for it.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    10. Re:I think I prefer a single process by Millennium · · Score: 1

      I was speaking from the notion that threads, too, are a kind of process. Yes, they do in fact have the same 'one process can't hog the CPU' advantage that using multiple complete system processes does. They do not, however, have the same reliability advantage, which is why I continued by pointing out that "if the browser is stable" was still a very big if.

      I'd apologize for being unclear in my wording, but upon misreading what I wrote, you decided to jump to conclusions and go directly to flame mode without passing Go, collecting $200, or asking me for clarification. So instead I think I'll just point out that you flamed me for nothing.

    11. Re:I think I prefer a single process by syousef · · Score: 1

      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.

      It shouldn't be. If your browser architecture doesn't protect or isolate the browser well, that is on the browser developers. No point whining about it when the perceived quality of your browser then tanks.

      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.

      Calls to Javascript should be interuptable. This competes with performance requirements for Javascript but the real problem is that Javascript design is so horrible. Did you know there isn't even a decent sleep/wait function in Javascript. You have to busy wait meaning 100% CPU usage. A built in sleep function that relinquishes control for so many milliseconds is something that's been a basic part of scripting languages for decades. HORRIBLE.

       

      --
      These posts express my own personal views, not those of my employer
    12. Re:I think I prefer a single process by bsmedberg · · Score: 1

      If you load a 30-tab bookmark, how much do you care about how quickly tabs 3-30 load? As long as we can get the main UI to respond, and then get the first tab or two up as quickly as possible, process creating for the other 28 tabs doesn't matter so much.

    13. Re:I think I prefer a single process by ion.simon.c · · Score: 1

      ... You have to busy wait meaning 100% CPU usage. [JS doesn't have a] built in sleep function that relinquishes control for so many milliseconds is something that's been a basic part of scripting languages for decades. HORRIBLE.

      How does this work without eating my CPU?
      http://htmlfive.appspot.com/static/gifter.html

      Hint 0: Examine the bottom of gifter.js
      Hint 1: It uses setInterval ( http://www.evolt.org/node/36035 )

      Via: http://htmlfive.appspot.com/

    14. Re:I think I prefer a single process by syousef · · Score: 1

      I know about setInterval. It is NOT a substitute for a genuine pause. You shouldn't have to create a new method and alter your control flow just to pause without eating CPU. You end up having to code a dozen methods for a dozen pauses instead of a single one (or worse, using recursion).

      --
      These posts express my own personal views, not those of my employer
    15. Re:I think I prefer a single process by ion.simon.c · · Score: 1

      Oh, okay... So Java/ECMAScript *does* have a usleep(). Thanks! :)

    16. Re:I think I prefer a single process by syousef · · Score: 1

      You mean this?

      http://phpjs.org/functions/usleep:574

      That's called a busy wait loop. The processor usage skyrockets. It's not usable if you want a well behaved app. Try again.

      --
      These posts express my own personal views, not those of my employer
    17. Re:I think I prefer a single process by ShadowRangerRIT · · Score: 1

      Granted, not much. Though the new FF 3.5 approach of loading them piecemeal annoys me, mostly because the tabs reorganize as they load, and it's quite easy to click the wrong tab because it got shunted out of place by the new tabs. I'd rather wait a quarter second to get them all established, then update the UI in bulk.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    18. Re:I think I prefer a single process by ion.simon.c · · Score: 1

      Noooooooooooooope. I'm referring to what I already showed you.

      You're dumb. I'm done with this conversation. :D

    19. Re:I think I prefer a single process by syousef · · Score: 1

      You're dumb. I'm done with this conversation. :D

      Yes. That statement is the height of sophisticated intelligence. All you've shown me is that you're condescending, rude and can't actually argue a point. Have a nice life. Don't let the door hit your arse on the way out.

      --
      These posts express my own personal views, not those of my employer
  9. Why a process? Surely a thread would scale better? by H0p313ss · · Score: 1

    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?

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  10. Nice by Craig+Davison · · Score: 4, Interesting

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

  11. Re:Why a process? Surely a thread would scale bett by Anonymous Coward · · Score: 2, Interesting

    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.

  12. Re:Why a process? Surely a thread would scale bett by EvanED · · Score: 1

    Forking a process on unix-like systems if fairly lightweight but for Windows this will not scale well at all.

    Chrome does it on Windows and it's okay.

    Why not just have rendering worker threads?

    There are two benefits to switching to this. First, it will become more responsive as one tab is much less likely able to eat CPU for a while and delay others (something that happens to me enough I have to restart Firefox for that reason every day or two). But the second reason is that if one tab causes a crashing bug to manifest, it is much harder to bring down the whole browser, and instead it just brings down that tab.

    Threading gives you the first benefit, but not the second. Processes give you both.

    I'm not sure how important the second reason is, but I do get crashes from time to time because of Flash.

  13. Yup... fashion by Colin+Smith · · Score: 1

    Security

    Speed ----------- You are here.

    Security ----------- The rest of the world is here.

    Speed

    Need to catch up mate. We'll be getting rid of virtual machines next too.

     

    --
    Deleted
  14. Re:Why a process? Surely a thread would scale bett by EvanED · · Score: 1

    The biggest problem nowadays isn't memory leaks but rather fragmentation.

    Of course, the multiprocess architecture helps with that too.

  15. Re:Why a process? Surely a thread would scale bett by Millennium · · Score: 2, Informative

    Forking a process on unix-like systems if fairly lightweight but for Windows this will not scale well at all.

    The Microsoft folks don't seem concerned about this, at least not concerned enough to implement it in IE. While I don't doubt that Windows processes are fairly heavyweight, I doubt that they're big enough to cause trouble until the user has hundreds of tabs open.

    Why not just have rendering worker threads? Have I missed something?

    Although working in multiple threads can increase performance in much the same way that multiple processes can, that's not the major benefit of the multi-process architecture. The big benefit to multiple processes is that if one of them dies for some reason, the other processes don't go down, and so the user can (mostly) continue to work. Threads can't do this, because all the threads are still part of a single process.

  16. Humiliated By Google's Chrome by Anonymous Coward · · Score: 4, Insightful

    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.

    1. Re:Humiliated By Google's Chrome by debrain · · Score: 5, Informative

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

      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.

      That doesn't excuse Firefox devs from not supporting a parallel architecture earlier, from which users would significantly benefit. But the conversation on that link is an oculus into the reasoning behind not having a parallel architecture earlier.

    2. Re:Humiliated By Google's Chrome by suso · · Score: 4, Insightful

      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.

    3. Re:Humiliated By Google's Chrome by Blakey+Rat · · Score: 4, Insightful

      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.

    4. Re:Humiliated By Google's Chrome by hemp · · Score: 1

      IE ran each window in a separate process years ago in IE4.

      --
      Skip ------ See the latest from http://www.anArchyFortWorth.com
    5. Re:Humiliated By Google's Chrome by RichM · · Score: 2, Funny

      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.

      Dunno about anyone else, but it gives me a warm fuzzy feeling to know that everytime I start up Firefox there's probably a couple of lines in the code from Netscape 4.x.
      Simpler days back then, none of this Facebooktweetfrommyiphonegoogleajax2.0 nonsense.
      We had Napster 1.0 and Hotbot, good times... you can keep the 56k modems though.

    6. Re:Humiliated By Google's Chrome by Anonymous Coward · · Score: 0

      And chrome only exists because neither IE or Firefox had it.

    7. Re:Humiliated By Google's Chrome by Anonymous Coward · · Score: 0

      And it'd be nice if we went back to that model, threw application specific tabs and MDI out the window. Most PCs today have the RAM to not care about increased memory usage. Plus you can look for savings in areas like sharing one copy of an uncompressed pixmap across processes for each compressed image file in use.

      I'm currently using the TreeStyleTabs extension, which is pretty awesome. But what I'd really like to see is a desktop environment task switcher that looks/works like that for all applications intead of just FF.

    8. Re:Humiliated By Google's Chrome by BitZtream · · Score: 2, Insightful

      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.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    9. Re:Humiliated By Google's Chrome by shutdown+-p+now · · Score: 1

      You surf web in separate browser windows, one per page? What year do you think it is, 1998?

      In any case, IE didn't "run each window" in a separate process. Instead, you actually had several IE processes launched - the same as Notepad "runs each window in a separate process". It's hardly comparable.

    10. Re:Humiliated By Google's Chrome by b4dc0d3r · · Score: 2, Insightful

      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

      "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.

    11. Re:Humiliated By Google's Chrome by Your.Master · · Score: 1

      IE8's first beta did have process isolation half a year before Chrome's first beta.

    12. Re:Humiliated By Google's Chrome by stevied · · Score: 1

      Tabs are just another form of MDI, and as such really chuck the whole document-centric computing idea out the window.

      In reality, of course, they're pretty useful, but if someone could find a way of having another go at document-centricity while keeping the tabs, that would be nice. In theory the Win9x-style taskbar isn't much different from tabs, but in reality it doesn't seem to work nearly as well, regardless of all the bells and whistles MS seem to keep adding to it..

      When HTML (and thus, rendering engines) were simpler, starting multiple copies of the browser was probably a perfectly reasonable approach, as any duplicated data wouldn't be that big. In the modern era, I agree, it has to be done more intelligently.

    13. Re:Humiliated By Google's Chrome by stevied · · Score: 1

      I'm more-or-less with you, but .. Netscape 4. Ugh. IIRC, version 3 hit the sweet spot regarding performance, footprint, and all the rest .. A bit like Win2K.

    14. Re:Humiliated By Google's Chrome by stevied · · Score: 1

      My completely uninformed and amateur opinion is that it all went to nuts with the introduction of XUL. It blurred the distinction between the data the application was supposed to be processing and the application itself. I'm sure cool stuff can be, and has, been done in XUL, and I imagine the add-on system depends heavily on it (and related technologies), but I think it has overcomplicated the browser tremendously.

      Still, Chrome's raised the bar in many ways, and managed (apparently) to implement extensions in a simpler way, so OSS has still won. The Right Thing is not always obvious, particularly for projects that started earlier and had to guess which way reality was going to jump. Five years ago it was probably quite a plausible idea that we'd be pulling down rich XUL applications from web, the technologies that won in the end (Web2.0-y Ajax-y stuff) were only just coming over the horizon ..

    15. Re:Humiliated By Google's Chrome by Anonymous Coward · · Score: 0

      I completely agree. I used Firefox for years, since Phoenix v0.1, and I loved it. Ever since about Firefox v2.0, I started having massive memory leak problems that only seemed to get worse as newer versions came out. By v3.0.8, Firefox would not only slowly eat up gigs of memory, but also utilize 100% CPU time every few seconds when it got to that state.

      For a long time, I stuck it out, despite the problems because I had hopes things would get better but they never did. Earlier this years I decided to give Opera another shot and I was pleasantly surprised (I hadn't tried Opera in almost 10 years). I have now fully made the transition to Opera and uninstalled Firefox from all of my computers. I will not go back to Firefox unless the Mozilla Foundation can get their shit together and win back my trust.

      Right now Firefox looks to me like hack upon hack upon hack. Tacking on new features, but never fixing the underlying code.

    16. Re:Humiliated By Google's Chrome by moosesocks · · Score: 1

      Seriously, dude. Chill out.

      Firefox started as a community project, and is still fairly young by all accounts. It essentially consists of the SeaMonkey browser with a lot of the superfluous crap ripped out -- the Mozilla developers are still working on removing the cruft from the old codebase. Building a browser isn't exactly a trivial task.

      Chrome and Safari aren't new browsers (or even anything resembling it). Both use WebKit (originally KHTML) as their backend. Chrome's memory/process protection is very cool, although it's painfully clear that Google's developers are having a hell of a time porting it to be cross-platform (essentially relying upon 3 entirely separate codebases). Chrome also uses a lot more memory than any other major browser -- although it's notable and important that it doesn't leak memory, overall usage remains astronomical.

      Firefox's JavaScript performance has been gradually improving, and remains competitive with Chrome in some instances. The JavaScript "arms-race" has produced amazing results for all 3 major browsers.

      Also don't forget that Firefox was the first so-called "modern" browser that ran on multiple platforms, and inspired the IE and KHTML folks to get their shit together. Not exactly a small accomplishment.

      When you're the first, you don't have the advantage of being able to learn from the mistakes of others.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    17. Re:Humiliated By Google's Chrome by moosesocks · · Score: 1

      I'll probably get modded into oblivion for this, but have you actually used IE8?

      The UI is still several kinds of horrible, although the performance and standards-compliance is very good, and competitive with Firefox, Chrome, and Safari. Once IE6 is dead and buried, web developers will have a huge burden lifted off of their chests.

      Although they're several years late to the party, Microsoft have indeed gotten their shit together. I'd even consider Windows 7 to be a worthy competitor to Mac OS X.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    18. Re:Humiliated By Google's Chrome by Blakey+Rat · · Score: 1

      Is there something about my post that gave you the impress I hate think IE8 isn't standards-compliant? Or are you replying to someone else?

    19. Re:Humiliated By Google's Chrome by debrain · · Score: 1

      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.

      Threading of XULRunner and DocShells.

    20. Re:Humiliated By Google's Chrome by WolfWithoutAClause · · Score: 1

      Yes, but this is a bad feature not to have, and I'm pretty sure early versions of Mozilla had it, they were much more responsive and then it... went away. The current version of Mozilla has pretty horrible behaviour, with missing clicks, keypresses and freezing for *tens* of seconds. Some of that can very probably be laid at this design 'WONTFIX'. On the same processor Chrome is crisp and responsive. The only downside is the lack of plugins and sometimes adverts can screw with performance, but it's still rarely worse than Mozilla in my experience.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    21. Re:Humiliated By Google's Chrome by RichM · · Score: 1

      Chrome also uses a lot more memory than any other major browser

      I doubt that.
      When running Firefox I frequently see it using more than 500MB of RAM with only 3-4 tabs.
      This is mostly down to the behaviour it has of not releasing memory for recently closed tabs, for some bizarre reason it keeps the most recent pages in memory rather than release the RAM and just store the recently closed tabs as history URLs.
      No doubt this is to store session data and stuff like that in case you hit Back or the browser crashes but it's so inefficient - why not write the browser/history state to disk instead?

    22. Re:Humiliated By Google's Chrome by moosesocks · · Score: 1

      Nah, but the common consensus among the /. crowd is that IE8 sucks, while virtually none of them have actually used it.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    23. Re:Humiliated By Google's Chrome by moosesocks · · Score: 1

      Chrome also uses a lot more memory than any other major browser

      I doubt that.

      Here's proof. Sorry for forgetting to include this in my original post.

      The Firefox leaks do appear to have gradually been brought under control, while Safari has a more noticeable leak, and Opera leaks like a sieve.

      It'd be nice to repeat this test across multiple platforms to see if any of the leaks are OS-specific.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    24. Re:Humiliated By Google's Chrome by moosesocks · · Score: 1

      Arg. Slashdot didn't parse my link. Here's the test I meant to refer to.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    25. Re:Humiliated By Google's Chrome by RichM · · Score: 1

      It seems that Firefox performs pretty badly when you have installed a few addons though, especially things like Firebug.

    26. Re:Humiliated By Google's Chrome by Anonymous Coward · · Score: 1, Interesting

      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.

    27. Re:Humiliated By Google's Chrome by Blakey+Rat · · Score: 1

      Oh. I do web analytics, so I have no choice but to use all browsers pretty regularly. I like IE8, it's leaps and bounds above IE7, which is leaps and bounds above IE6. The least-usable browser from my experience is Opera, I just can't stand it's mutant UI. (Although the rendering and JS functionality is fine.)

    28. Re:Humiliated By Google's Chrome by BitZtream · · Score: 1

      You've confused my reply to the parent post to mine with a reply to the article in general. Try to keep up.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    29. Re:Humiliated By Google's Chrome by Anonymous Coward · · Score: 0

      Wow some random, unknown dude posts a couple of meaningless charts and you buy it. How about something from a reputable, known source?

    30. Re:Humiliated By Google's Chrome by Stepnsteph · · Score: 1

      I completely agree with Anonymous Coward's comments. I, too, remember the offensive and blatantly ignorant comments from the people at Mozilla, especially in regards to multithreading Firefox. Personally I find it very unfortunate that Slashdot and other technology sites are reporting on this sudden change of heart without bringing up Mozilla's past behavior. It is biased reporting and paints Firefox & Mozilla in a far too positive light.

      Also, I was unaware that Chrome now has extension support. I know that it has rudimentary Greasemonkey support but that's far from full extension support, and from what I can find (via Google, of course, heh) about it online is that extension support is still in the testing phase.

      While the 3.5 upgrade is a welcomed improvement it is still not Chrome. If / when Chrome actually gets full extension support I will be switching browsers. I said that when Chrome launched, assuming that I can get AdBlock and Foxmarks, I would gladly change browsers and I see nothing here to change my mind.

      Granted, I may do so through SRWare Iron rather than Chrome itself.

    31. Re:Humiliated By Google's Chrome by Ying+Hu · · Score: 2, Insightful

      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?

  17. Re:Why a process? Surely a thread would scale bett by EvilRyry · · Score: 1

    That doesn't solve the stability problem. If one of those worker threads does something naughty, the whole process is going down.

    Although process creation time on Windows is slow compared to other OSes its more than fast enough for spawning a process per tab. Chrome and IE8 have already proved this in the real world.

  18. Restart Firefox Only Once A Month??? LOL! by Anonymous Coward · · Score: 0

    Before I dumped Firefox months ago I would have to quit the piece of shit browser 2 to 3 times a day to clear out the crud that gets left behind with every minute of use.

    The only people pathetic enough to put up with such a piece of junk app are people who still think they are being cool and impressing others with "I'm kewl, I use Firefox, not IE!"

    1. Re:Restart Firefox Only Once A Month??? LOL! by hedwards · · Score: 3, Insightful

      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.

    2. Re:Restart Firefox Only Once A Month??? LOL! by Zearin · · Score: 1

      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.

      "Incompetence"? Wow.

      You had to install a couple of extensions that disable Javascript and Flash (two of the most common files on the web) and tell Firefox to clear cach, cookies, and history on exit.

      Sounds to me like Mozilla made you do quite a bit to achieve your stability.

      If only the average user were "competent" enough to install these specific extensions and change all the settings that you did. We should all be as "competent" enough to clean up after Mozilla's oversights to the bugs you were brilliant enough to workaround.

      --
      â"Zearin
  19. Will this benefit the average user? by DutchUncle · · Score: 3, Insightful

    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.

    1. Re:Will this benefit the average user? by Eric52902 · · Score: 4, Informative

      The machine I'm currently on is a single core machine running XP (1.6 GHz if I'm not mistaken...so lazy I don't even want to pull up the specs!). I've been using Chrome for months on this thing and it's lightning fast. Your concern over speed is unfounded.

    2. Re:Will this benefit the average user? by SpinyNorman · · Score: 1

      No, there's no reason to assume it'll be slow, unless they just screw up the implementation.

      If you're really worried about process creation overhead, then just create a pool of processes and reuse them.

      More to the point, do have any idea how absurdly fast today's processors are compared to things like process creation. Exactly how long do you imagine it to take to create one? Long enough for you to notice?!!

    3. Re:Will this benefit the average user? by nickspoon · · Score: 1

      This will benefit extremely the average user who might be watching a Flash video in one tab, with an unsaved e-mail open in another - if the Flash video crashes, under the current system, the whole application goes down (and so therefore does your e-mail, quite often). With multi-process tab support, only the video tab crashes, which is (I'm sure you'll agree) much better, and worth the extra couple of seconds it might take to load the browser.

    4. Re:Will this benefit the average user? by Anonymous+Brave+Guy · · Score: 2, Informative

      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.

      You are vastly over-estimating the impact of a process switch on any hardware from the last decade or more. Right now, my WinXP PC is running 53 processes. If I click another application on my task bar, a full screen has redrawn with the new application's window before my finger has finished releasing the mouse button I clicked. Do you have any idea how many process switches took place in the fraction of a second while that happened?

      Better philosophical architecture is a good thing.

      There's a lot more than philosophy going on here.

      Independent processes allow a dramatic improvement in robustness. Any plug-in, heck even a hostile JavaScript, can take out your entire Firefox browser right now. Plenty of people browse with many windows open doing everything from writing e-mail to posting on social networking sites to watching YouTube. All of that goes boom if a single tab hits a single plug-in/scripting bug.

      Independent processes also allow improvements in security. Resources on modern operating systems are typically allocated on a per-process basis; this is the difference between a process and a thread. Avoiding sharing resources between different tabs, where such tabs might contain scripts or plug-ins that you have granted certain extra permissions, is a good thing.

      And of course, in practice, many people are now running on multi-core hardware that will benefit in performance terms as well. Moreover, major architectural clean-ups on software projects tend to improve performance as a side-effect anyway.

      I'm afraid your post is one long stream of technically incompetent FUD.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    5. Re:Will this benefit the average user? by AK+Marc · · Score: 1

      Yes, it will be slower. And if a plug in crashes, it won't kill the browser. If a single page crashes, it won't take down the browser. The goal for this isn't speed (though it's a side effect in multi-core/processor systems), it is stability. And yes, on a single CPU system, that stability will come with a performance hit. Though I would claim it is still a net gain.

    6. Re:Will this benefit the average user? by thue · · Score: 1

      This will mean that one tab can't freeze the whole browser. Which will make the browser feel more responsive.

      So the result will probably be feel faster, even on single-core machines.

    7. Re:Will this benefit the average user? by Anonymous Coward · · Score: 0

      I don't think it will be any slower, but it will be safer (firefox has been crashing a bunch lately and taking out all 20 windows ) and yes it will reduce memory usage because when a process is killed with its window or tab, it will clean up. Mac users rejoice- firefox has been a memory hog over there for a long time. My firefox for windows now running at... 228 Mb. That's actually low.

    8. Re:Will this benefit the average user? by DutchUncle · · Score: 1

      You are vastly over-estimating the impact of a process switch ...

      Process creation, allocation, then switch. But yes, I'm probably over-estimating.

      Independent processes allow a dramatic improvement in robustness. ... Plenty of people browse with many windows open ...

      I have eight or ten windows open most of the time myself. I don't care for tabs.

      Moreover, major architectural clean-ups on software projects tend to improve performance as a side-effect anyway.

      Like Vista? ;-) Well, one can always hope. :-) :-)

      I'm afraid your post is one long stream of technically incompetent FUD.

      Well, now, that's a bit harsh. I'd stick with calling it over-estimating. Perhaps I spend too much time with tight constraints; my perspective is based on my work with embedded microcontrollers, and in particular experience with projects in which someone went for either (a) philosophical purity, or (b) architectural simplicity, without realizing just how much overhead would be involved and how firmly limited the memory resources were. Efficiency is hard to shoehorn back in.

    9. Re:Will this benefit the average user? by evilviper · · Score: 1

      For users with anything pre-multi-core (and that's only a few years old),

      All of computing history is only "a few years old".

      this will result in things getting *slower* because of the process overhead.

      Slight, but I'd be happy to deal with some small performance reduction if it means I can open multiple tabs in the background without the UI freezing up and being unresponsive for a few seconds.

      Really, what good is progressive page-load when you can't scroll, switch tabs, stop, etc.?

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    10. Re:Will this benefit the average user? by gad_zuki! · · Score: 1

      >this will result in things getting *slower* because of the process overhead.

      I really doubt it. In the IE6 days, IE users would do their equivalent of tabs by just starting a new IE process by double-clicking the IE icon. That would launch a whole new copy of iexplore.exe. If that level of performance was acceptable then (and it seems it was) then we'll be fine. Heck, Ive already run IE8 (which does this today) on a single-core beater laptop with no complaints.

    11. Re:Will this benefit the average user? by Anonymous Coward · · Score: 0

      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$).

      Let me help you with that: Tools->Options->Advanced->Update->uncheck boxes

      You're welcome.....

    12. Re:Will this benefit the average user? by stevied · · Score: 1

      Process creation / switching overheads have been pretty good on Linux for years, not sure about Windows. IPC is a different issue, but again with shared memory (rather than pushing stuff through pipes and sockets), the overhead should be minimal - assuming a well-designed architecture.

      Having said that, I seem to recall that there are under-the-hood settings in Chrome that can be tweaked to control how enthusiastically it compartmentalizes - I imagine (and hope) FF will do the same.

    13. Re:Will this benefit the average user? by DutchUncle · · Score: 1

      ...just starting a new IE process by double-clicking the IE icon. That would launch a whole new copy of iexplore.exe. If that level of performance was acceptable ...

      Good point. And how sad that all the way back in the 1970s, even before Unix, there were systems like TOPS-10 that had shared-code / separate-data segmentation, and Windows couldn't be bothered to use it.

    14. Re:Will this benefit the average user? by frission · · Score: 1

      i don't see why this would happen. I run Firefox and Chrome on a P4 3.0 (no multi core) and Chrome's speed blows away FF. My chrome starts almost immediately after I press the icon button in the quick launch tray. FF takes forever to load, I hope they fix that soon (and no, I don't have that many plugins installed)

    15. Re:Will this benefit the average user? by Anonymous Coward · · Score: 0

      It shouldn't resort in a slowdown and in fact should gain a nice speedup from user standpoint.
                Consider the present situation -- Firefox runs some kind of event handler, reacting to your clicks, handling javascript, plugins, html redraws, plugins, etc. within a single process. Consider:
                1. There's going to be some amount of overhead in keeping track of all these items, scheduling them, and so on.
                2. Tabs are logically independent.
                So, potentially the tabs will not be interdepndent, and relatively easy to seperate; You'd have the overhead of multiple processes (which is low under most OSes -- they play memory management tricks so an executable is only in RAM once even if it's being run multiple times, low scheduling overhead, etc), but the internal scheduling and state-tracking overhead in Firefox could be less time-consuming.. This would likely be a crapshoot.

                BUT, there could easily be an *effective* speedup, misbehaving javascript, bloated css, and so on, instead of having the whole browser slug out or freeze, it'll be one tab while the other tabs and the interface are fine -- I like to load some tabs in the background so this'd be great.

                I would say it's like going from the horrors of cooperative task switching (which Apple mis-named "multitasking" in MacOS 7-9, and Microsoft mis-named "cooperative multitasking" in Windows 1.x-ME) to true multitasking. Cooperative task switching relies on an app to specifically make a kernel call to end it's time slice; if the app burns lots of CPU time without making a kernel call, your system's dead in the water until it finishes (and if it's in an infinite loop your system's simply locked up.) I think this is how Firefox behaves now. Real multitasking gives each app (that has work to do) a fixed timeslice (which the option to give up the timeslice early), avoiding these pauses and freezes even in the face of misbehaving software.

    16. Re:Will this benefit the average user? by rdnetto · · Score: 1

      The machine I'm currently on is a single core machine running XP (1.6 GHz if I'm not mistaken...so lazy I don't even want to pull up the specs!). I've been using Chrome for months on this thing and it's lightning fast. Your concern over speed is unfounded.

      I use Chrome as well, but he's talking about Firefox. Firefox isn't anywhere near Chrome in terms of speed, they're only just catching up. So the GP is quite justified is considering the downsides of this.

      --
      Most human behaviour can be explained in terms of identity.
    17. Re:Will this benefit the average user? by Anonymous Coward · · Score: 0

      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 am not sure that you completely understand what it means to have multiple processes. There is a queue of processes that wait to get CPU time, and when an application, such as Firefox, uses or creates multiple processes this simply means it has more processes waiting for an opportunity to use the CPU. It will make an application run faster via more CPU time no matter the number of cores a system has at its disposal. I also think that you are VASTLY overestimating just how much overhead more processes cause.

      I hope it senses resources and optimizes appropriately

      This is handled by the operating system. Applications should just be written not to run like hogs.

    18. Re:Will this benefit the average user? by Zearin · · Score: 1
      In addition to the other comments to this, I'll add...

      Unless you're Dr. Who, or Doc Brown, or Q...

      Time only moves in one direction: forward.

      Previous versions of Firefox are still available for single-core users. I'm not an expert on low-level computer architecture, but many others seem to disagree with your sentiments about overhead.

      Even if you are right, previous versions already have the single-core field covered. How much longer would you have them cater to an architecture that is only going to become more and more obsolete?

      --
      â"Zearin
  20. Will this help with flash crashing my Ubuntu? by Anonymous Coward · · Score: 0

    So will this also run those forks with niceness values that wont cause flash to make my Ubuntu machine unable to register mouse movements or keystrokes (effectively leaving a reboot as the only option) for poorly written flash applications?

  21. Re:Why a process? Surely a thread would scale bett by Anonymous Coward · · Score: 0

    The Microsoft folks don't seem concerned about this, at least not concerned enough to implement it in IE.

    It's implemented in IE8.

  22. Re:Why a process? Surely a thread would scale bett by FishWithAHammer · · Score: 1

    Process creation is much cheaper under Windows than it used to be.

    And one crashed thread takes out all the threads, resulting in--gasp!--the current situation, as Firefox's tabs are nominally multithreaded.

    Process segmentation is the only way to retrofit that bad codebase into actually some sort of working order when compared to IE8 and Chrome. It should also help their astonishing memory leaks too.

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  23. The "About Time" Bandwagon by CannonballHead · · Score: 4, Insightful

    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.

    1. Re:The "About Time" Bandwagon by BitZtream · · Score: 1

      Explorer doesn't open individual directories with different processes. Each explorer window can be a separate process. This is not special, you are just running multiple apps. Just like every other standard windows app. It takes effort to NOT run multiple apps in windows. It takes effort to make it so each new invocation of the executable looks for an existing process and tells it the info it was passed when it was started.

      Guess what. Firefox can do this now! No code changes needed! Scary eh? Guess what else, EVERY APP on EVERY OS I have EVER written for other than mobile devices and OS X works this way be default.

      You have to go out of your way on most OSes to even GET A single instance type of application.

      They aren't inventing new code, they're removing and getting back to the way things used to work. This isn't new, its old.

      This isn't an 'its about time' thing, at least as far as multiple processes.

      This is a 'hahahah look they are finally going back to what we did 20 years ago before we had a bunch of retarded CS graduates writing Windows apps who think one process doing everything including pretending to be the OS is a good idea!'

      Hooray for competition, and hooray for moving the right direction. But don't expect me to give anyone a pat on the back for finally figuring out that the shit we knew how to do 20 years ago was the right way to go and that following the MS crowd was a stupid idea. Occasionally the UNIX hippies knew what the hell they were doing.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:The "About Time" Bandwagon by mdwh2 · · Score: 1

      Indeed, and once upon a time, IE would actually start up a separate process for every window you open. Funny how things come full circle...

      (No doubt someone will claim a difference between "tab" and "window", but the difference is basically a UI thing, affecting whether they take up one task bar window or several.)

    3. Re:The "About Time" Bandwagon by mgblst · · Score: 1

      What a joke. Explorer doesn't use different processes, ever noticed how when it crashes, you lose all your windows. And does Microsoft use different processes for each doc in Word, Excel, etc... No.

    4. Re:The "About Time" Bandwagon by ion.simon.c · · Score: 1

      I'll bite. It's about time.

      Even explorer.exe is able to open directories using different processes, if you want.

      Cite?

    5. Re:The "About Time" Bandwagon by CannonballHead · · Score: 1

      Sure: link explaining how. As someone pointed out, it is more similar to just running multiple programs. But my point was simply that even Windows has realized that to improve stability, sometimes it is nice to separate things out as a different process... whether that process is a new window or a new tab is irrelevant to me. I like tabs, but the fundamental idea is the same.

    6. Re:The "About Time" Bandwagon by CannonballHead · · Score: 1

      By default, you're right... it doesn't. Notice the "is able," which implies that it has the ability to but doesn't necessarily. It's a Windows setting. link explaining how.

    7. Re:The "About Time" Bandwagon by ion.simon.c · · Score: 1

      [HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \Explorer]
      SeparateProcess = 1 (Default=0)

      Matches the setting "Launch folder windows in a separate process" in Folder Options.

      *facepalm*
      I've never thought about what that option does. Thanks for the link!

  24. 'Allocating resources and optimizing appropriately by MrMista_B · · Score: 0, Flamebait

    Are you kidding? This is the Firefox dev team. Of course they won't. They'll say it's impossible, and call you an idiot for even thinking of suggesting something like that. Not until someone Microsoft or Google does it, will they feel any need to implement something so useful.

  25. Re:Why a process? Surely a thread would scale bett by Tumbleweed · · Score: 1

    Forking a process on unix-like systems if fairly lightweight but for Windows this will not scale well at all.

    Yeah, cuz multi-process Chrome on Windows is such a piece of shit?

  26. Does that mean distributed XPCOM? by DrXym · · Score: 5, Informative
    Most of Gecko is bound together with interfaces defined in IDL and implemented in C++ / JS. This model is called XPCOM and is based off Microsoft's COM in a large part. In theory (though not always in practice), it didn't matter in COM where the interfaces are implemented - single thread, multi-thread, multi-process or even across a network so long as the caller and callee abide by things such as rules for memory allocation, reference counting, object creation etc. I say in theory because some interfaces can be horribly inefficient when called repeatedly over a network, some interfaces might have broken IDL definitions and some interfaces might deal with things like handles or memory addresses which don't translate properly between processes.

    One way to implementing multi-process Firefox is first allow XPCOM to work across process. i.e. allow objects to be via XPCOM that are actually spawned in another process, one explicitly created for the task. In COM it had a thing called a running object table (ROT). When you create a process hosted object it looks to see if one is running already, and if not it uses the registry info to spawn one. Then it waits for it to start and then it tells the process to create the object, sets up all the marshaling etc. XPCOM could do something similar, though it would have to do so in a cross-platform manner. I assume that Firefox would have to determine when creating a browser object first if it was chrome or content, and if it was content to spawn a host process and then set up the interfaces. Once set up and assuming the interfaces were efficient, the effect would be largely transparent.

    The biggest performance hit would probably be on anything which tried to call or iterate over the DOM boundary between chrome and content. For example chrome which introspected content would suffer because all the calls would have to be serialized / deserialized.

    Personally I think its feasible but it would hit performance. An alternative would be to just host plugins in another process. Windowless plugins might be a pain to implement but at least you could kill the other process if a plugin goes nuts which seems to happen all too frequently for me.

    1. Re:Does that mean distributed XPCOM? by anaesthetica · · Score: 3, Informative

      Not sure, but I do know that they've been removing XPCOM where they can throughout the Gecko / Firefox codebase.

    2. Re:Does that mean distributed XPCOM? by DrXym · · Score: 1

      I doubt they're removing it entirely, just rationalizing. Just like any OO tech you can go overboard, wrapping everything in a class or interface even when it doesn't make sense. Hell you could even have an object implementing nsIString to pass around any string but performance would be dire. At one point (and I'm going back a few years here), the view manager internally used a bastardized XPCOM notation even though it didn't define the interfaces in IDL, and didn't even bother refcounting the interface queries. In such cases you may as well rip it out and stop confusing everyone.

    3. Re:Does that mean distributed XPCOM? by BitZtream · · Score: 1

      They aren't 'removing' it. They're moving away from the insane amount of XPCOM components required to make everything work and consolidating them into fewer larger components.

      XPCOM isn't going anywhere, its just getting to be more sane. Rather than creating a new XPCOM component every time someone wants to add a new font, they're making a 'font handling XPCOM component' so you only have to load it, rather than 200 different ones for all the fonts you have installed.

      No, there aren't XPCOM components for 'fonts', and never were. Its an example that is so far out that I would hope no one took it verbatim. I realize however that some idiot will so I had to add this as well.

      XPCOM isn't going anywhere, theres nothing wrong with it. Gecko just happens to use it in a retarded way, and they are fixing that aspect of its usage.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    4. Re:Does that mean distributed XPCOM? by BitZtream · · Score: 1

      Did you even READ the url you linked too?

      To quote the FIRST LINE OF THE LINKED PAGE:

      The basic idea is to refactor interfaces to remove unnecessary "XPCOM style" ugliness and other interface design errors.

      Not sure how you got to 'removing XPCOM throughout'. Reading comprehension is more difficult than I realize.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    5. Re:Does that mean distributed XPCOM? by Anonymous Coward · · Score: 0

      One way to implementing multi-process Firefox is first allow XPCOM to work across process. i.e. allow objects to be via XPCOM that are actually spawned in another process, one explicitly created for the task. In COM it had a thing called a running object table (ROT). When you create a process hosted object it looks to see if one is running already, and if not it uses the registry info to spawn one. Then it waits for it to start and then it tells the process to create the object, sets up all the marshaling etc. XPCOM could do something similar, though it would have to do so in a cross-platform manner.

      Or, instead of writing a custom IPC layer for XPCOM, they could use dbus, which does exactly that and the rest of the open source world is already using it. It's being ported to non-Linux platforms too. Dbus would probably get a ton of performance improvements in the process and writing Gecko derived browsers would be as easy as consuming a dbus interface, so it'd be a win-win scenario.

    6. Re:Does that mean distributed XPCOM? by bsmedberg · · Score: 1

      No, we are not doing distributed XPCOM. Proving anything about the security or stability of a distributed COM model is almost impossible. It's very easy to deadlock when you have IPC channels making mixes of synchronous and asynchronous IPC calls without a pretty strict control mechanism. We are using very specific protocol layers which validate all their parameters and track protocol state very carefully.

  27. This has nothing to do with multi-core CPUs by RingDev · · Score: 1

    I've been doing this exact same work since the mid-90's. Anytime you have a processor intensive or I/O task in a Windows environment, it should be moved off of the primary thread. Even if the process is being run on a single core processor the UI will still be responsive (albeit possibly laggy) while the I/O and calculation is running.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  28. Re:Why a process? Surely a thread would scale bett by H0p313ss · · Score: 1

    The Microsoft folks don't seem concerned about this, at least not concerned enough to implement it in IE.

    It's implemented in IE8.

    You mean render threads right?

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  29. hey... by whopub · · Score: 1, Funny

    Get the Java dick out of your ass please.

    Hey, leave the other dude alone and wait for your turn.

  30. Re:Why a process? Surely a thread would scale bett by H0p313ss · · Score: 1

    Forking a process on unix-like systems if fairly lightweight but for Windows this will not scale well at all.

    Yeah, cuz multi-process Chrome on Windows is such a piece of shit?

    This is purely anecdotal... but as far as I can tell for my daily usage Chrome is no faster than Firefox 3.5 with adblock. (Adblock ftw)

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  31. Excellent, not apply isolation! by Anonymous Coward · · Score: 0

    This is excellent and ties directly into a thread in a previous posting regarding the isolation/sandboxing of the browser. Apart from using the multiple processes to guard against a crash taking down the entire browser, they should employ all of the capabilities that the OS provides to isolate the child processes into as tight of a constrained context as possible. That will help mitigate successful exploits of vulnerabilities of the renderer and dependent libraries.

    Furthermore, if Mozilla is serious about joining this party, I seriously think that Microsoft, Google and Mozilla need to sit down together and come up with a recommendation for writing plug-ins that can be hosted safely out of process. That would increase the reliability and security of the browser by preventing a failing plug-in from taking the browser with it, or a vulnerability in a plug-in from being able to exploit the system outside of the sandbox.

  32. Chrome was a success by Enderandrew · · Score: 1

    Whether or not Chrome is adopted and used as a browser, the project was a success in spurring needed innovation.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    1. Re:Chrome was a success by Blakey+Rat · · Score: 1

      IE had this feature in public betas before Chrome was announced.

    2. Re:Chrome was a success by Enderandrew · · Score: 1

      Chrome was in development for 3 years before annoucement. Many has suggested that the feature wasn't exactly a secret. Google said their main goal was to release the code completely open and encourage other browsers to use the concepts and features.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    3. Re:Chrome was a success by Blakey+Rat · · Score: 1

      Well, ok. And yet none of that changes the point I was making, which is that anybody closely following this market saw the feature at work (i.e. not rumored) first in IE8.

  33. Re:Why a process? Surely a thread would scale bett by Tumbleweed · · Score: 1

    This is purely anecdotal... but as far as I can tell for my daily usage Chrome is no faster than Firefox 3.5 with adblock. (Adblock ftw)

    Anecdotal is the best evidence in this case. I've run Chrome with over 90 tabs, and it kept on chugging. And what does speed have to do with a browser being multi-process? The benefits are security and reliability, with the downside being memory usage.

  34. Re:Why a process? Surely a thread would scale bett by lukas84 · · Score: 1

    Or the multi-process Explorer.exe on Windows 7 :)

  35. Re:Why a process? Surely a thread would scale bett by IntlHarvester · · Score: 2, Insightful

    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.

    --
    Business. Numbers. Money. People. Computer World.
  36. Re:Why a process? Surely a thread would scale bett by SpinyNorman · · Score: 1

    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?

    One of the main reason's threads are more lightweight than processes is because they share an address space (so it's cheaper to switch between threads - you don't need to reload page tables), but the downside of that is that one thread can corrupt another. Processes don't share memory hence they are better isolated from each other.

  37. First Virtualbox SMP support, now this by Gothmolly · · Score: 2, Informative

    Finally, apps are getting more multi-CPU focused. Very cool. All of us with multi processor systems thank you.

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:First Virtualbox SMP support, now this by BitZtream · · Score: 1

      Yay, virtualbox is almost caught up to every other virtual machine package on the planet. Not really impressive. Virtual SMP on a single processor would be impressive. 64 bit guests on a 32 bit host (with a 64 bit processor) was cool.

      Finally adding virtual SMP is more of a 'its about time' kind of thing.

      With that said, I love virtualbox so I'm glad they added it.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  38. Diamond Joe Quimby: "It Can Be Two Things" by Anonymous Coward · · Score: 1, Insightful

    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.

    1. Re:Diamond Joe Quimby: "It Can Be Two Things" by AK+Marc · · Score: 3, Insightful

      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.

    2. Re:Diamond Joe Quimby: "It Can Be Two Things" by billius · · Score: 1

      To compare oneself to a rival is to legitimize that rival.

      Now if only Apple could realize that...

    3. Re:Diamond Joe Quimby: "It Can Be Two Things" by Blakey+Rat · · Score: 2, Informative

      http://www.microsoft.com/windows/internet-explorer/get-the-facts/browser-comparison.aspx

      That link is the only thing I've seen, IE8-wise, comparing it to other browsers. But generally IE doesn't get advertised at all-- I haven't seen an IE ad in ages. (Of course, I don't watch TV, so there's a whole world of advertising I get no exposure to.)

    4. Re:Diamond Joe Quimby: "It Can Be Two Things" by nmx · · Score: 1

      Have they ever advertised against Firefox?

      Oh, yes they did!

      --
      "Well kids, you tried your best, and you failed. The lesson is, never try."
    5. Re:Diamond Joe Quimby: "It Can Be Two Things" by Anonymous Coward · · Score: 0
    6. Re:Diamond Joe Quimby: "It Can Be Two Things" by Anonymous Coward · · Score: 0

      Maybe it's because most people only surf for a limited time and with a minimal amount of tabs open vs the typical net geek who needs to have 56 tabs and leaves the browser open 24/7, so it does not matter to most people if a tab runs in a separate process, that is if they even use tabs...

      Have they ever advertised against Firefox? I'd be surprised if they did. To compare oneself to a rival is to legitimize that rival.

      You're wrong, what about here or here? So, MS has indeed validated Firefox and open-source in general as a potential rival. Good for them, I suppose

    7. Re:Diamond Joe Quimby: "It Can Be Two Things" by maxume · · Score: 1

      Microsoft is the establishment, Apple doesn't need to worry about legitimizing them.

      --
      Nerd rage is the funniest rage.
    8. Re:Diamond Joe Quimby: "It Can Be Two Things" by larry+bagina · · Score: 1

      The had (and pulled) an awesome ada few weeks ago.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    9. Re:Diamond Joe Quimby: "It Can Be Two Things" by dbIII · · Score: 1

      Of course it isn't advertised. If it started to look as if people were buying MS Windows for the free IE then Spyglass would start knocking on the door asking for a share of the royalties they were promised (even though there can't be much of the original design left in there).
      I'm impressed with all the recent web browsers including IE8.

    10. Re:Diamond Joe Quimby: "It Can Be Two Things" by Anonymous Coward · · Score: 0

      Have they ever advertised against Firefox? I'd be surprised if they did. To compare oneself to a rival is to legitimize that rival.

      http://www.microsoft.com/windows/internet-explorer/get-the-facts/browser-comparison.aspx

    11. Re:Diamond Joe Quimby: "It Can Be Two Things" by Anonymous Coward · · Score: 0
    12. Re:Diamond Joe Quimby: "It Can Be Two Things" by Anonymous Coward · · Score: 0

      See:
      http://www.microsoft.com/windows/internet-explorer/get-the-facts/browser-comparison.aspx

    13. Re:Diamond Joe Quimby: "It Can Be Two Things" by rdnetto · · Score: 1

      More importantly, doing so would actually increase public awareness of Firefox, which would work against them.

      --
      Most human behaviour can be explained in terms of identity.
    14. Re:Diamond Joe Quimby: "It Can Be Two Things" by Anonymous Coward · · Score: 0
  39. Why is this a good thing again? by Anonymous Coward · · Score: 0

    When I hear multi-process browsing the first thought is why? Don't our browsers already use enough memory within a single instance of itself?

    What is wrong with a multi-threaded application that can use multiple cores simultaneously?

    With multi-processor you end up with a more complex memory model (domain sockets, shared memory..etc for inter-process communication) This can only increase the global complexity and chance for bugs within the system.

    You end up with duplication of the same core code in memory with no reduction of synchronization complexity which necessairly means increased memory usage.

    If there are structural problems with the browser such that it freezes
    or is not reliable I would rather see these problems corrected. If the code is that bad then I don't think its unreasonable to also assume its also insecure and expliotable.

    Now that I'm here I also want to see the dizzying array of plugins go away - they are a reliability and security nightmare.

  40. Profile data sharing by nyet · · Score: 1
    Would be nice if they fixed this related bug in the process... or... first?

    Profile data cannot be shared by multiple running instances.

  41. Re:Why a process? Surely a thread would scale bett by not+already+in+use · · Score: 1

    Firefox is already multi-threaded. Single process, multi-threaded. Any one thread can crash the entire process. One process cannot crash another process, at least not directly.

    --
    Similes are like metaphors
  42. Does this mean by C_Kode · · Score: 1

    Does this mean I can have five different Flash players hijacking my CPUs at once?

  43. NSPluginViewer? by Wolfier · · Score: 3, Interesting

    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.

    1. Re:NSPluginViewer? by Ying+Hu · · Score: 1

      I hadn't thought it through clearly, but you're dead right. Since the rise of all three technologies in these browsers, I've wanted a way to renice (or kill), individually, JavaScript, Flash, swf across the browser or by particular page. THAT would make a nice extension.

  44. Re:Why a process? Surely a thread would scale bett by H0p313ss · · Score: 1

    This is purely anecdotal... but as far as I can tell for my daily usage Chrome is no faster than Firefox 3.5 with adblock. (Adblock ftw)

    Anecdotal is the best evidence in this case. I've run Chrome with over 90 tabs, and it kept on chugging. And what does speed have to do with a browser being multi-process? The benefits are security and reliability, with the downside being memory usage.

    Actually... in the extreme usage scenario there is a memory advantage to multi-processing as well: closing the process is guaranteed to free the allocated (unshared) process memory. Poor man's garbage collection.

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  45. Re:Why a process? Surely a thread would scale bett by AK+Marc · · Score: 1

    Anecdotal is the best evidence in this case. I've run Chrome with over 90 tabs, and it kept on chugging.

    I've done the same with Opera. I've tried it for fun in IE and Firefox, and it wasn't pretty (or successful).

  46. Re:About time ... For SOME people, this is split- by davidsyes · · Score: 1

    ting HAIRS... so why not call it....

    "HYDROLYSIS"?

    But, wait, isn't electrolysis a way to remove hair? Well, if that's not good or damaging enough, call it...

    "fibrin(ogen)olytic"....

    Oh, what the hell...

    --
    Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
  47. Re:Why a process? Surely a thread would scale bett by Just+Some+Guy · · Score: 1

    Forking a process on unix-like systems if fairly lightweight but for Windows this will not scale well at all.

    How many tens of thousands of times per second do you need to open a new browser tab?

    --
    Dewey, what part of this looks like authorities should be involved?
  48. The irritating thing is by Wolfier · · Score: 1

    That you'll never find FF developers admitting doing ANYTHING wrong on the Bugzilla forums.

    Anything. Do you believe in flawless designs? I don't - but arrogant developers apparently exist.

  49. Just one question. by Anonymous Coward · · Score: 0

    When I ctrl+alt+del it, will it show as many different processes as there are tabs + main process?

  50. What about cookies/isolation? by Twillerror · · Score: 2, Interesting

    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.

    1. Re:What about cookies/isolation? by BitZtream · · Score: 1

      Yes, just like Google chrome shares the same cookies between tabs.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:What about cookies/isolation? by Late+Adopter · · Score: 1

      Try firefox -ProfileManager. I know it's not as simple as you're asking for, but you can have an entirely separate set of preferences, cookies, cache, etc.

    3. Re:What about cookies/isolation? by BZ · · Score: 1

      > Now with multiple processes is this the case.

      It is if you use the Chrome approach of having all network access in the UI process and having locked-down renderer processes that can't touch the filesystem or network.

    4. Re:What about cookies/isolation? by bluej100 · · Score: 1

      IE6 actually supports isolated processes with separate cookies when you launch another instance of IE. (Unlike Firefox, it doesn't detect and combine with the running instance.) My wife launches every new window from the start menu because she likes this behavior.

    5. Re:What about cookies/isolation? by Anonymous Coward · · Score: 0

      I don't see how this would be a problem when DB systems like SQLite can have multiple processes accessing the DB at the same time.

  51. it's like... by jipn4 · · Score: 1

    Splitting applications into multiple processes... it's like the 1980's all over again.

  52. Re:Why a process? Surely a thread would scale bett by Anonymous Coward · · Score: 0

    Well, multiprocess programs do use *more* memory. Google Chrome's memory handling is terrible.
    Partly because webkit leaks badly, so to release memory, they have to kill a tab process, partly because firing up new
    processes does require some memory.
    http://dotnetperls.com/chrome-memory

  53. that straightens it out by Anonymous Coward · · Score: 0

    I imagine that's why they call this Electrolysis...it's a hairy problem now that it's been ignored for so long.

    I was thinking more along the lines of "With Electrolysis, surfing pr0n will be better than ever." But your theory sounds better.

  54. It's good by shutdown+-p+now · · Score: 1

    It's really good to see this sort of thing happening, no matter what feature it is, and what browser pioneered it.

    Today, we (finally!) have a fairly competitive browser market, and here are the results of it: as soon as one browser adds a feature that is genuinely good, others race to implement it as well, sometimes developing it further in the process. Even IE had something to bring to the table (process-per-tab first appeared in public IE8 betas).

    Competition is good. More competition is better. Bring it on.

  55. Firefox can now eat cores, like it eats ram by cenc · · Score: 1

    Great, it can now eat all the cores on my computer like it eats all the ram.

    1. Re:Firefox can now eat cores, like it eats ram by thaig · · Score: 1

      Since it's multithreaded, it can do that already.

      --
      This is all just my personal opinion.
  56. change process uid? by bl8n8r · · Score: 1

    Would be nice if the firefox process that does the heavy-lifting could change it's uid to something other than the person running firefox; although not a perfect solution, it could minimize data loss due to web-based compromise if process id does not have access to $HOME.

    --
    boycott slashdot February 10th - 17th check out: altSlashdot.org
    1. Re:change process uid? by BZ · · Score: 1

      You've read up on Chrome's renderer sandbox, right?

  57. Re:Why a process? Surely a thread would scale bett by Anonymous Coward · · Score: 0

    Kindly stop spreading informative and correct information about Windows' process model. You are interfering with my Slashdot experience. Creating a process in UNIX is quicker than in Windows, hence, UNIX is superior. What is there to not understand?

  58. Re:Why a process? Surely a thread would scale bett by timeOday · · Score: 1

    Making software more robust by adding complexity to it (multithreading) is by no means a winning formula - how often does a "rogue" tab bring down the others, vs. the number of race conditions and deadlocks users will experience with the new design? Only time will tell, so forking for a while and trying it seems the perfect solution.

  59. Any news on opera? by shish · · Score: 1

    Normally us opera fanboys get to respond to every "firefox has amazing new feature X!" post with "yeah, but opera's had that for years"; but in this case it seems firefox might end up having a feature released first -- how can this be happening? /o\

    --
    I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  60. Tarzan need antecedent! by Millennium · · Score: 1

    I meant to say that they weren't concerned enough to implement IE8's architecture using threads, as opposed to processes.

  61. You mean Internet Explorer 8 by Atypical+Geek · · Score: 1

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

    Process per tab made its debut in IE8, not Chrome.

  62. Re:Why a process? Surely a thread would scale bett by BZ · · Score: 1

    A thread approach has most of the same difficulties as a process approach without some of the (security, stability) benefits. Put another way, if one thread crashes, you lose.

    It can also be _harder_ to write well-isolated shared-nothing code with the thread approach, since threads make it so easy to share state... and then you start running into synchronization, deadlock, and locking overhead issues.

  63. Uh... almost always? by Anonymous Coward · · Score: 1, Informative

    At least if you're using the WebSphere AppServer it does.

    Background: OutOfMemory is the single most useless exception of [b]any[/b] VM. Once it's out of memory there is almost nothing you can do, short of aborting the process to let the system reclaim the memory. Much better to design your processes to fail gracefully (i.e. atomically/transactionally). That's why Erlang is so popular amongst people who want 99.999% uptime.

  64. Nice by microbee · · Score: 1

    I'm reallly impressed with Chrome's speed and stability, but have to stick to Firefox for its addons. To make me happy only one of the two things should happen:
    1. Chrome gets addons more like Firefox's
    2. Firefox becomes more like Chrome

    And thank you, Google, for contributing to the world your refreshing ideas and code.

  65. "Bloat" is a myth by coryking · · Score: 1

    "Bloat" is a myth perpetuated by a certian sect of technical people that seem to think that anything that isn't done in assembly and can be sqeezed into 640kb of memory is "bloat". Good sir, nobody cares about "bloat". We don't have tape drives and ram isn't $400 a meg. Bloat is a myth.

    There is no such thing as "bloat". There is only applications whos feature set is poorly organized. The more features you add, the more attention you have to give to how said features are accessed and how they relate to the goals and tasks the user is trying to accomplish at any time.

  66. Re:Why a process? Surely a thread would scale bett by FishWithAHammer · · Score: 1

    Of course they use more memory--you have duplicate code pages in different processes--but it's a fairly small amount.

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  67. Single Process.. by schmiddy · · Score: 1

    So your single-core cpu is only ever capable of running a single process?

    I run MS-DOS, you insensitive clod!

    --
    http://cltracker.net -- powerful craigslist multi-city search
  68. IE6? by Anonymous Coward · · Score: 0

    About time you upgrade there pal. You people make our lives a living hell.

  69. Re:Why a process? Surely a thread would scale bett by H0p313ss · · Score: 1

    Anecdotal is the best evidence in this case. I've run Chrome with over 90 tabs, and it kept on chugging. I've done the same with Opera. I've tried it for fun in IE and Firefox, and it wasn't pretty (or successful).

    I've got over 100 tabs open in firefox 3.5 now... Works On My Machine (TM)

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  70. Not Quite by Master+of+Transhuman · · Score: 1

    "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"

    No - they'll fix MOST (or even SOME) of the things that break in the process.

    This is how Mozilla produces a Firefox that crashes and takes down the whole KWin system.

    This is how Mozilla produces a bug-ridden browser.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  71. continuous improvement by spage · · Score: 2, Informative

    The idea is/was to do a large scale cleanup and refactoring.

    And it's getting done in pieces. Mozilla developers wrote a string of tools (Elsa, Oink, TreeHydra, DeHydra) to analyze the codebase, all open source and some contributing to GCC's rearchitecture to better support plug-ins Developers can then pick specific cleanups and refactoring and identify exactly what code is affected and even do rewrites, though these go through code review. This happens steadily.

    ... But the smaller, leaner, more approachable codebase goal?.

    DeCOMtamination proceeds. In each release a few major internal rewrites get in, like the switch to thebes on Cairo and the HTML reflow changes; upcoming is Combined nsImage* & gfxImageFrame and the HTML5 parser.

    ... Makes you wonder if there's anyone at the wheel.

    There's no need to wonder when all the development takes place in the open. Pay attention or don't style yourself as an armchair expert.

    --
    =S
  72. A much bigger advantage ... by Daeron · · Score: 2, Insightful

    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.

  73. MOD PARENT UP by anaesthetica · · Score: 1

    That was super informative, thanks!

  74. That's a bit pedantic by Chrisq · · Score: 1

    They mean the java.lang.OutOfMemoryError I am sure

  75. a minor point by Chrisq · · Score: 1

    In a single process environment all calls are blocking. So the fact that you use the term non-blocking suggest that you are implicit making use of more than one *process*

    It amazes me...

    In a single process and single threaded environment all calls are non-blocking (I know this is pedantic, as almost any system call will involve another process).

  76. Disapointed with Adobe and Flash by knet99 · · Score: 1

    Adobe has managed to get Flash to be the de facto standard for most web pages on the Internet, yet I would not have needed Chrome or other browser with this process separation if it wasn't for Flash. It crashes my browser, and as a Mac OS X user, it slows down not only my web browser, but my whole machine almost to a halt.

    I so wish that either Apple do a deal with Adobe so that they get source code and can fix it themselves, or that Apple secretly are writing a clone that will be part of Snow Leopard.

    Hmm.... I wonder how many watt/h of energy Flash is wasting in total over the world, CPU's going up to max when could be in low power mode, forcing us to buy a faster CPU with multi cores just to browse the web. I think Adobe should pay some sort of energy tax ;)

    Or, as I imagine they don't make money from the flash plugin, make it OpenSource so that others can help them fix it.

  77. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  78. Re:Why a process? Surely a thread would scale bett by sumitibow · · Score: 0, Troll

    This is a wonderful opinion. The things mentioned are unanimous and needs to be appreciated by everyone.

    Restaurant Jobs

  79. Re:Why a process? Surely a thread would scale bett by Abcd1234 · · Score: 1

    Of course they use more memory--you have duplicate code pages in different processes

    Uh, no you don't. Linux has copy-on-write for forked processes. Of course, the same can't be said for other OSes (Solaris, for example).

  80. Re:Why a process? Surely a thread would scale bett by FishWithAHammer · · Score: 1

    I was thinking Windows, but apparently NT does have copy-on-write. My bad.

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  81. multi-process makes my systems crawl by MikeFM · · Score: 1

    Including the mail app in the same process was a bit daffy.

    I can't agree it's much better to use a multiprocess model so that my 4 core CPU grinds to a crawl when I open up all the tabs I use (40-50 average). Chrome absolutely crawls. Maybe they need to refine the idea a little.

    IE had to have a multi-process model because it crashed so much and was tied to the OS. Even so a browser problem totally trashed the system as often as not.

    --
    At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    1. Re:multi-process makes my systems crawl by Ying+Hu · · Score: 1

      An excellent point to consider. I routinely have 2 to 3 times as many tabs and windows open as that, and JavaScript and Shockwave often bring one processor to 100% if not watched. I now have to as a regular thing have a system monitor open to watch the CPU usage for Firefox (and Opera and any other browser I have open). There's even something else in Firefox that runs on and on, as I've recently have a few webpages max out one core using Firefox 3.5 on 64-bit Linux, where Shockwave ads supposedly won't run, with the JavaScript off and yet it races. The couple times I've tried Chrome I've watched it use more and more of the machine over time.

      I'm all for Firefox going to multi-process, but they really need to work on something that limits the browser processing - if I'm not looking at a page that page should basically be "off", not doing anything until I come back to that tab, as is the case with a text processor or even an audio or video player when it's paused. How can a browser be the OS when it cannot control its CPU usage or match such to the tasks the user is doing actively? Pages not being looked at must go into the background as far as CPU utilization is concerned unless a job is specifically being run by the user.

    2. Re:multi-process makes my systems crawl by MikeFM · · Score: 1

      It shouldn't stop background pages but it should give them less priority. It should have a smart process manager that ensures that the UI always works smoothly and after that the process in focus.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
  82. Mod parent up by Ying+Hu · · Score: 1

    Seriously.

    Hmm.... I wonder how many watt/h of energy Flash is wasting in total over the world, CPU's going up to max when could be in low power mode, forcing us to buy a faster CPU with multi cores just to browse the web. I think Adobe should pay some sort of energy tax ;)

    And you can take the ;) off the end of the sentence. They really do measurably raise my electric bill.