Slashdot Mirror


Firefox 4's JavaScript Now Faster Than Chrome's

An anonymous reader writes "Firefox 4's JavaScript engine is now faster than V8 (used in Chrome) and Nitro (used in Safari) in the SunSpider benchmark on x86. On Mozilla's test system Nitro completes the benchmark in 369.7 milliseconds, V8 in 356.5 milliseconds, and Firefox 4's TraceMonkey and JaegerMonkey combination in 350.3 milliseconds. Conceivably Tech has a brief rundown of some benchmark figures from their test system obtained with the latest JS preview build of Firefox 4: 'Our AMD Phenom X6-based Dell XPS 7100 PC completed the Sunspider test with the latest Firefox JS (4.0 b8-pre) build in 478.6 ms this morning, while Chrome 8.0.560.0 clocked in at 589.8 ms.' On x86-64 Nitro still has the lead over V8 and TraceMonkey+JaegerMonkey in the SunSpider benchmark."

6 of 352 comments (clear)

  1. Interesting? by mseeger · · Score: 3, Informative

    I really don't see the point in a posting like this. Its all

            My _______ (1) is _______ (2) than yours

    with typical choices for (1):

    - car
    - wife / husband / significant other
    - d*ck
    - browser
    - javascript
    - OS

    and choices for (2) like:

    - faster
    - harder
    - more expensive
    - longer
    - more open
    - prettier

    Now that we have covered all these discussions, can we move on please?

    CU, Martin

  2. Re:FF4 has some pretty serious memory leaks still, by ObsessiveMathsFreak · · Score: 4, Informative

    It's not a memory leak problem. This is pretty obvious when, after weeks of continuous use, Firefox's memory usage remains more or less constant.

    However, Firefox does have a memory fragmentation problem. After continuous use, the program will become noticeably slower on certain tasks which it previously had no issues with. This is particularly the case if you're visiting more intensive webpages. Often you're better just restarting it after the first 100 or so tabs.

    --
    May the Maths Be with you!
  3. Re:FF4 has some pretty serious memory leaks still, by Anonymous Coward · · Score: 3, Informative

    As I've said, I've tried this. Firefox's memory use tops 200 MB after two weeks. Other browsers go over 200 MB in a few days. I'm not attacking you, just stating for the record that I cannot see a problem. Perhaps on your computer that problem exists. Do not assume that every other Firefox user in the world sees the same problem. I do not. If you don't believe me, look at any number of memory tests that show Firefox using less memory than other browsers: 1 2 3 4, and many more!

  4. Verified on my sw-only 3D benchmark as well by ttsiod · · Score: 3, Informative

    I, too, saw the speed of Firefox 4 in a pretty simple, math-only benchmark that rotated a 3D object. Run it for yourself and/or see the gathered statistics (bottom of the page). Here is the Reddit discussion where many people run it and confirmed Firefox 4 supremacy.

  5. Re:and yet Firefox still can't use 1 core... :( by hedwards · · Score: 3, Informative

    They're working on it. It's just a matter of wanting to do it correctly rather than just doing it to say they've done it. Sort of like how they've resisted cheating on the Acid tests like some of the other browsers have been.

    Just about any moron can make a new browser window per tab and not have them talking to each other. But it takes a fair amount of work to get them connected enough for performance reasons without causing one tab to crash others.

  6. Re:Thanks for the hard work by BZ · · Score: 3, Informative

    There are several things wrong here:

    1) Spidermonkey still compiles the AST to bytecode.
    2) An assembler does just that: assembles. This means a 1-1 mapping of some other sort of
            representation of the exact machine instructions you want into actual bits in memory.
            There are no smarts here and no optimization going on; the only question is how fast
            you generate those bits in memory; an ideal assembler does this as fast as possible
            and without using too much memory. Now you have to generate assembly (or whatever
            representation the assembler takes as input) for it to assemble. That's the job of
            the compiler. JaegerMonkey takes the bytecode generated in step 1 and compiles it,
            passing the output to the assembler borrowed from Nitro. This compilation step is
            where (some of) the optimization takes place, and this is not code shared with Nitro.
    3) Tracemonkey is most certainly useful for Sunspider; just not as useful as for other
            things. See, for example, http://arewefastyet.com/?machine=6 where the purple line is
            below the black one solely because of Tracemonkey. Alernately, see
            https://bug580468.bugzilla.mozilla.org/attachment.cgi?id=482609 where you can see the
            scores on each sunspider subtest as of a week or so ago; the -m column is JaegerMonkey
            without Tracemonkey, -j is Tracemonkey without Jaegermonkey, and -mjp is what's
            actually being used now (a combination of the two, with some smarts about deciding
            when to use which one).
    4) The goal of Kraken is in fact to include anticipated use cases. If you know
            anticipated use cases it doesn't include, I'm sure Rob Sayre would love to know what
            they are.