Slashdot Mirror


Firefox 4 Will Be One Generation Ahead

An anonymous reader writes "Mozilla's Chris Blizzard talks about the rising competition by Google Chrome, the evolution of the web platform and the prospects for WebM. He also promises that Firefox 4 will be 'one generation ahead' of other browsers in relation to Javascript speed."

2 of 341 comments (clear)

  1. Re:...And one generation behind on HTML5 by Qzukk · · Score: 4, Interesting

    The awesome bar is one of two things I miss after switching to Chrome. Chrome tries to pack too much into the URL dropdown (search history, suggestions, etc) without doing any of it well. For instance on Firefox, I can type Q[tab] and have my comments page up. sl[tab] is slashdot. c[tab] is my bank site. f[tab] is the firehose journal search I use. Just about any site I go to is four keystrokes max counting hitting enter to load the site. On chrome, I have to type sl[right arrow]/[down arrow][right arrow] to get to my comments page. Note that moving the hand between the arrow keys and the main keyboard adds extra effort. If I don't add the /, Chrome lists only list two options: slashdot.org and search google for slashdot.org.

    The other thing is Nuke Anything, which I can't find anything like it for Chrome. Useful for removing that floating div blocking the bottom right corner of every slashdot comments page.

    --
    If I have been able to see further than others, it is because I bought a pair of binoculars.
  2. Re:...And one generation behind on HTML5 by msclrhd · · Score: 4, Interesting

    In the old days, JavaScript was interpreted. This means that the JavaScript engine is evaluating the program as it runs, instead of the CPU evaluating the program. This is what the Firefox SpiderMonkey engine does and it is slow.

    When Chrome was released and there was a push to make things faster, Mozilla wrote an engine called TraceMonkey. This engine supports tracing jit, which is to say that the engine watches what javascript code gets executed (the tracing part) and uses that to produce optimised code that the CPU will execute (the jit -- or just-in-time compilation -- part).

    Chrome's V8 engine, Apple's Nitro engine and others use what is called method jit. This means that the javascript code for a method (function) is compiled to code the CPU can execute when that method is called.

    Mozilla are currently working on a similar method jit engine called JaegerMonkey. This engine is taking the nitro assembler (the code that generates the CPU instructions) and writing everything else on top of this. In addition, they are also taking the Yarr! regular expression engine that IIR, Chrome is using to speed up their regular expression handling.

    Mozilla are looking to blend the method jit and tracing jit together -- hence the "one generation ahead" comment.

    Mozilla are also optimising various javascript calls (a contrived example would be replacing calls to Math.sin with the sin CPU instruction) to provide "fast paths" that speed up code that uses those calls.

    http://arewefastyet.com/ shows the performance of these over time.