Slashdot Mirror


Testing a Pre-Release, Parallel Firefox

Firefox, in its official version, still lacks support for multi-threading (running on different processors), though Chrome and Internet Explorer 8 both have this feature. A Firefox project called Electrolysis is underway to close this gap. A blog author tested a pre-release version of Firefox that loads different tabs in parallel, and he chronicles his findings, including a huge speedup in Javascript vs. Firefox version 3.5 (though the pre-release still lags Chrome in many of the tests).

8 of 278 comments (clear)

  1. Thread != Process by kiltyj · · Score: 5, Informative

    Firefox, in its official version, still lacks support for multi-threading

    Firefox certainly supports multi-threading. A thread is not the same thing as a process.

    1. Re:Thread != Process by Magic5Ball · · Score: 5, Interesting

      Read bug 40848 for the list of technical issues. Amongst other things, document windows may display and communicate with each other, or refer to each other, which leads to race conditions, etc.

      (The process documented in 40848 also explains why this idea has taken 9.5 years and some skunkworks outside/despite the open development process to get this feature to this point.)

      --
      There are 1.1... kinds of people.
    2. Re:Thread != Process by fm6 · · Score: 5, Insightful

      The writer's mistake is more basic than just conflating threads and processes. You left out the parenthesis:

      still lacks support for multi-threading (running on different processors)

      Which not only conflates cores and processors, but also suggests that multithreading isn't useful if you don't have multiple cores/processors.

      When I was writing the concurrency chapter in the Java Tutorial, the experts would give me a very hard time if I allowed even a vague suggestion that this was true. The fact is, threads are extremely useful even if you only have one core to work with. For example, any well-written GUI program will not handle user interaction in the same thread with other functions; if it did, the GUI would freeze every time the program were waiting on something.

      Multithreading is a big topic these days because everybody wants to maximize their utilization of all these n-core processors. But it's not a new topic.

      This mistake seems to be very common. Which leaves me confused as to what's new here. It's not parallel downloading of files — Mozilla/Firefox has always done that. A more robust parallelism mechanism? Or maybe they're copying Chrome and giving each tab its own process (not thread!).

  2. Tabbed processes would be better by BadAnalogyGuy · · Score: 5, Insightful

    Multithreading still relies on a single point of failure - the shared memory space.

    By doing what Chrome did, and breaking each tab instance into its own process, any single tab can crash/hang without affecting any other page.

    I know when I load an MPG video that it sometimes hangs the browser, and I can't do anything (close/minimize/switch away) while the media player is being loaded. This sometimes causes me stress.

  3. Summary is wrong! by A12m0v · · Score: 5, Insightful

    Firefox does support multithreading, what it doesn't support is multiprocessing. Firefox runs as a single process, whereas Chrome has a separate process for every site, plugin and extension.

    --
    GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
  4. Re:Good thing by Qubit · · Score: 5, Insightful

    Other browsers have already caught up to Firefox in speed, features, and standards support.

    Many mainstream browsers are speedy, or at least speedy enough, but Firefox does offer a unique mix of features:

    Ogg Theora/Vorbis: Currently supported by Firefox, Chrome, Opera
    FOSS: Firefox, Chrome (just Chromium?)
    Cross-Platform on Win, Mac, GNU/Linux: Firefox, Chrome (maybe just beta?), Opera

    For me, both Firefox and Chrom{e|ium} look like good contenders. I've had good experiences with Mozilla products for quite some time, so I'll probably continue with Firefox.

    --

    coding is life /* the rest is */
  5. The first sentence is wrong by parallel_prankster · · Score: 5, Interesting

    On so many levels !! first of all - The title of the Electrolysis page clearly mentions using multiple processes - where the heck did anyone mention multi-threading? Secondly - multi-threading is not the same as running on different processors. You can potentially split a program into user level threads just to simplify code. Third - firefox already supports multi-threading. The only problem is that threads are still connected to the same PID and killing that in windows/linux/mac will kill all threads along with it. The original article states they are starting from a chromium base. That may be the reason for speedup in Java scripts test ?

  6. Re:Processors do not matter... by Pausanias · · Score: 5, Informative

    You do realize that your Prescott Pentium IV is more power hungry than Intel's current faster offerings, right? Perhaps you should buy an AMD if you despise intel and would like to be greener.