Forgot your password?
typodupeerror
Mozilla The Internet Software

Firefox 3 Performance Gets a Boost 550

Posted by ScuttleMonkey
from the powers-of-ten dept.
jason writes "Mozilla has been working hard at making Firefox 3 faster than its predecessor, and it looks like they might be succeeding. They've recently added some significant JavaScript performance improvements that beat out all of the competition, including Opera 9.5 Beta. And it comes out to be about ten times faster than Internet Explorer 7! Things are really starting to fall into place for Firefox 3 Beta 4 which should be available in the next week or two."
This discussion has been archived. No new comments can be posted.

Firefox 3 Performance Gets a Boost

Comments Filter:
  • Safari (Score:4, Informative)

    by adam1234 (696497) on Wednesday February 27, 2008 @07:30PM (#22581046)
    Hopefully it can best Safari's Javascript performance. Firefox is pitifully slow compared to WebCore's javascript core.
    • Re:Safari (Score:4, Funny)

      by CRCulver (715279) <crculver@christopherculver.com> on Wednesday February 27, 2008 @07:31PM (#22581068) Homepage
      Surf with NoScript and the JavaScript engine will be invoked much less than usual.
    • Re:Safari (Score:5, Informative)

      by prestomation (583502) on Wednesday February 27, 2008 @07:33PM (#22581086)
      According to TFA, Safari is beat out by Firefox 3 beta 3 and 4, and Opera.
      • Re: (Score:3, Informative)

        by Anonymous Coward
        Did the check against the WebKit SVN HEAD, though? There have been significant improvements which aren't in Safari yet.
      • Re:Safari (Score:5, Insightful)

        by Anonymous Coward on Thursday February 28, 2008 @12:03AM (#22583952)
        Would it be fair to say the following actually occured to obtain these javascript performance improvements:

        1. instrumented firefox (PGO technology)
        2. ran the stinking benchmark with the instrumented code
        3. used the feedback from the benchmark to automatically compile an optimized version of firefox optimized specifically for the benchmark.

        4. Publish results of said benchmark for all to oooh and awwww over.

        Isn't this as pathetic and useless as vendors manually tweaking their 3D drivers to artifically raise performance figures displayed in 3dmark? Did I totally misread TFA?
        • Re:Safari (Score:5, Interesting)

          by luserSPAZ (104081) on Thursday February 28, 2008 @07:48AM (#22586544) Homepage
          No, we're just profiling on browser startup/shutdown right now. I did do a build profiled on the benchmark, and it was pretty fast, but that's probably overkill. Mostly we just want to hit enough common code paths to make things faster. Turns out sunspider perf correlates pretty nicely to overall JS speed, since the benchmark is made up of real world code that people complained was slow.
    • Re:Safari (Score:5, Informative)

      by A beautiful mind (821714) on Wednesday February 27, 2008 @07:35PM (#22581118)
      RTFA (or just glance below):

      1. Firefox 3 Nightly (PGO Optimized): 7263.8ms
      2. Firefox 3 Nightly (02/25/2008 build): 8219.4ms
      3. Opera 9.5.9807 Beta: 10824.0ms
      4. Firefox 3 Beta 3: 16080.6ms
      5. Safari 3.0.4 Beta: 18012.6ms
      6. Firefox 2.0.0.12: 29376.4ms
      7. Internet Explorer 7: 72375.0ms
      The results are generated by using the Sunspider JS benchmark suite.
      • Re:Safari (Score:5, Interesting)

        by GenKreton (884088) on Wednesday February 27, 2008 @07:44PM (#22581232) Journal
        These benchmarks are definitely lal done on a windows box, because if you compare the performance of JS in Firefox on Linux and Windows it is like night and day... I don't know why JS on Linux needs to be so much worse.
        • Re:Safari (Score:4, Informative)

          by BZ (40346) on Thursday February 28, 2008 @04:28AM (#22585568)
          A large part of this is that MSVC++ generates better assembly than g++ in a lot of cases.
      • Re:Safari (Score:5, Interesting)

        by dgatwood (11270) on Wednesday February 27, 2008 @07:49PM (#22581306) Journal

        How about testing with a WebKit nightly?

        • by Overly Critical Guy (663429) on Wednesday February 27, 2008 @08:17PM (#22581630)
          Why is the parent comment marked as troll? It was reported a few weeks ago that the next version of Safari, 3.1, would see major JavaScript performance gains due to the latest WebKit builds. This article uses the beta Windows 3.0 version to compare to.
          • Re: (Score:3, Funny)

            by causality (777677)

            Why is the parent comment marked as troll?

            Because there are too many knee-jerk idiot mods who don't consider context and can't be bothered to check facts.

            At least when they mod me "Offtopic" they'll have done the job correctly.
      • Re:Safari (Score:5, Interesting)

        by Anonymous Coward on Wednesday February 27, 2008 @08:05PM (#22581512)
        The Webkit nightly builds are significantly faster. I don't have the same machine they've tested on obviously, but for comparison purposes here's the current release vs. the most recent nightly build on my Mac OS X 10.5.2 machine:

        Safari 3.0.4: 10758.4ms +/- 0.5%
        WebKi r30628: 3390.0ms +/- 0.3%

        If the performance gain percentage is comparable on their test machine (big if, granted) the comparable time would be 5675.8 ms, 22% faster than the PGO Firefox build.
      • Re:Safari (Score:5, Informative)

        by TheNetAvenger (624455) on Thursday February 28, 2008 @01:59AM (#22584734)
        (or just glance below):

        1. Firefox 3 Nightly (PGO Optimized): 7263.8ms
        2. Firefox 3 Nightly (02/25/2008 build): 8219.4ms
        3. Opera 9.5.9807 Beta: 10824.0ms
        4. Firefox 3 Beta 3: 16080.6ms
        5. Safari 3.0.4 Beta: 18012.6ms
        6. Firefox 2.0.0.12: 29376.4ms
        7. Internet Explorer 7: 72375.0ms
        The results are generated by using the Sunspider JS benchmark suite.


        This looks great, but everyone should notice a couple of things that may not be obvious.

        1) Sunspider JS benchmark is designed by Apple developers and they use it to show the world how much faster Safari is, however Opera seems to outpace the Safari developers even with their own tests. However, yes some of the benchmarks used are 'picked' to favor Safari, and some are 'extended' to hurt IE.

        2) Sunspider over does the tests of the Append String performance problem to make IE look worse than it really is. IE's JScript is coded as JScript was designed, and because of this, it doesn't optimize string append operations by using newer code. So by using this text extra, it artificially make IE look horribly slow. IE8 and possible additional IE7 releases are spending time optimizing the base JSCript code from the original implementations/specifications.

        http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx [msdn.com]

        3) If you remove the 'string' routine from the test, IE7, consistently outperforms Firefox 2.0, and is very close to even Safari for with the results were cherry picked.

        http://www.codinghorror.com/blog/archives/001023.html [codinghorror.com]

        4) Some of the numbers are quite questionable as to the validity. For example IE7 is given 72375 in this article, and yet the slowest machine our tech lab has ever benchmarked is 2x the speed, and this is on a very old AMD 1ghz machine that barely runs Vista in which the test yeilded the horrible results. So where did they get the 72375 number from? A Pentium 200?

        Again reference this link so see that even this person's results are no where near the 75K ms time reported for IE.

        http://www.codinghorror.com/blog/archives/001023.html [codinghorror.com]

        So it is quite questionable and inaccurate to try to portray IE7 as 10x slower, when without the 'emphasized' string append slowdown in IE7, it is faster than FireFox 2.0 and within a few 'ms' of even Safari and the new FireFox 3.0 results.

        Good job to the FireFox team, btw.. Also does anyone have benchmarks of the new FireFox using a non-Apple test suite?

  • by jtroutman (121577) on Wednesday February 27, 2008 @07:32PM (#22581072)
    One of the ways I usually demonstrate to people the advantage of Firefox 2 over IE7 is to show them the difference in time it takes to open multiple tabs. With Firefox, they open as fast as I can hit CTRL-T, but with IE it takes about a second for each one.
    • by ivarneli (4238) on Wednesday February 27, 2008 @07:57PM (#22581404) Journal
      I tend to have the opposite experience. When I need to use it, IE7 is quite fast and responsive for me, and it will certainly open tabs as quickly as I can hit Ctrl-T. On the other hand, Firefox (on any computer I've used) occasionally has a bit of a delay when opening new tabs, especially if other pages are rendering in the background, you have a few complex sites (like gmail) open, or you have more than 3-4 tabs open.

      There are a bunch of great reasons to use Firefox - adblock, keyword bookmarks, decent standards support, Firebug, etc. But in my experience (especially post-1.5), the responsiveness of the UI is not one of those reasons.
  • by celardore (844933) on Wednesday February 27, 2008 @07:35PM (#22581120)
    To be honest, I hate it. WTF have they done with my handy URL bar? It used to be a place where I could type "slas" and get the slashdot URL come up. Even worse for "news", as it "handily suggests" all the pages in my history that have "slas" or "news" in my history.

    Heads up for all those trying Firefox 3 is Oldbar [google.co.uk]. I suggest you get it if you don't like the new 'innovations' by Mozilla Corp.
    • by christopherfinke (608750) <chris@efinke.com> on Wednesday February 27, 2008 @07:52PM (#22581352) Homepage Journal
      It learns as you use it. Type 'slas' and choose Slashdot from the list. After doing that once or twice, Slashdot should automatically float to the top each time after that.
      • by arth1 (260657) on Wednesday February 27, 2008 @08:24PM (#22581728) Homepage Journal
        Sorry, copying the bad eyecandy from Microsoft doesn't classify as an improvement in my opinion.

        The learn-as-you-go menu behaviour which they copied from Windows didn't work well in Windows either. The main problem is that it causes inconsistent behaviour. Repeating something doesn't necessarily give you the same menu items. It's good for newbies who read every single line before choosing one of them, but it's very bad for people who memorize what they do so they can repeat it quickly without even looking.

      • by ucblockhead (63650) on Wednesday February 27, 2008 @08:30PM (#22581812) Homepage Journal
        Gah! I don't want software that fucking "learns"! I don't want software that tries to think for me. I want software that just fucking works in the first place!

        It's the KISS principle [wikipedia.org]. I'd rather have stupid software that works in a clear manner than all this crap that tries to figure out what I maybe might be wanting.
        • by TheSkyIsPurple (901118) on Wednesday February 27, 2008 @08:44PM (#22581966)
          >I don't want software that tries to think for me.

          In which case you don't want the browser to autocomplete the URL for you at all, and the fact that it finds seemingly irrelevant matches shouldn't matter.
        • by Blkdeath (530393) on Thursday February 28, 2008 @01:13AM (#22584482) Homepage

          Gah! I don't want software that fucking "learns"! I don't want software that tries to think for me. I want software that just fucking works in the first place!

          It does. Your "just fucking works" is slightly different from my "just fucking works", so it learns how we each work and adapts accordingly. It not only learns your habits in entering URLs in the address bar, but it also learns from your browsing history and bookmark use. When I type "sl" lo and behold, Slashdot is the first entry. When I type "gl" the first entry is for my Globe And Mail portfolio listing, when I type "bm" my online banking page comes up #1. Now, if I wanted to view other pages that I select often I can scroll further down, but in general all I need is two letters, down, enter and I'm at the page I want based on my own browsing habits. Now, your online banking might start with "sc" or "ba" or any other combination so you wouldn't want "bm" associated with that. Maybe "bm" links to your social networking site or something else you want. Why bother with one-size-fits-all when you can have custom tailored for the same price?

    • by Anonymous Coward on Wednesday February 27, 2008 @08:15PM (#22581606)
      Funny, I have been using it for a couple months now (nightlies) and I absolutely love the awesomebar. Just typing "s" gets me slashdot. the various environments I work with can be gotten with "l" (localhost), "d" (the development server), "bug" "sprint" "-1h" "me" (our bug tracker), "qa" (our qa environment), etc.

      Best of all, if I visit any site and then want to get back to that site again sometime, all I need to remember is something in the title or url of the page I was at.
      • by balster neb (645686) on Wednesday February 27, 2008 @09:30PM (#22582486)
        I agree with you totally. I've been toying around with the Firefox 3 Betas for a couple of weeks and I think the awesomebar is the best new feature. It's not broken -- it's different. Once you get used to it, finding pages you frequently visit becomes much easier.

        Say you visited the Wikipedia page on the Tunguska event a couple of weeks. If you want to revisit the page, all you do is start typing the first few letters of "Tunguska" and the page comes to the top of the list. With the old type of address bar, you'll have to type the whole Wikipedia URL or search your browser history separately. This speedup is well worth the relatively shallow learning curve.

        I find it pretty stupid to compare this feature with Windows' "adaptive menu" feature. There's only a superficial resemblance. Remember, the traditional address bar still "learns" in the way you hate by ordering URLs by the frequency with which you visit them. What is it with the Slashdot crowd and being insanely conservative about their software?
    • by caspy7 (117545) on Wednesday February 27, 2008 @08:16PM (#22581622)
      You've only tried it for one day and you hate it?
      I think I understand.
      You see, the new location bar learns. Though this silly new 'innovation' does indeed search through the URLs *and* titles of bookmarks and history, it also learns what you select the most. Give it a few more days and slashdot should come to the top of the list.
      I experienced the same thing in the beginning.

      When I bookmark page now I try to throw on a couple common sense tags that way when I type the tag in the location bar in the future, those bookmarks come out on top.

      If you're *really* dead set on the shortest route:
      1) Click Bookmarks -> Show All Bookmarks
      2) Find the slashdot bookmark and select it
      4) Click "More" under properties
      5) Make the keyword /.
      6) Close the window

      Now type /. in the location bar and vwala!
  • by The Ancients (626689) on Wednesday February 27, 2008 @07:37PM (#22581146) Homepage

    The Safari team recently introduced some native javascript functions [webkit.org], which showed very impressive speed. It looks like the next release Safari will be up there as well (if not even faster still).

    I'm off to download the latest Firefox to see how the two compare (on both Windows and OS X platforms).

    • Re: (Score:3, Interesting)

      by jesser (77961)
      Firefox nightlies also have native getElementsByClassName, fwiw. I don't know how many sites currently use native implementations when available, but after Firefox 3 and Safari 3.1 ship, I bet lots of sites will.
  • by kaos07 (1113443) on Wednesday February 27, 2008 @07:38PM (#22581160)
    From the Mozilla blog:

    Firefox 3 is going to include support for the new Java SE 6 runtime environment.

    This is a new implementation of the Java Plug-In that features increased reliability, ability to specify large heap sizes, ability to select a specific JRE version to execute a particular applet, and support for signed applets on Windows Vista.

    The New Plug-in is designed to work with: - Internet Explorer 6 and 7 on Windows XP and Windows Vista - Firefox 3 on Windows XP, Windows Vista, Solaris and Linux

    Personally, I've been wanting to use the Firefox 3 beta for some time, primarily because of the performance and speed boosts over Firefox 2, but my favourite add-ons still aren't compatible.

    Note: The new Plug-in does not work with Firefox 2, and no support is planned for this browser with the New Plug-in.

    http://gemal.dk/blog/2008/02/24/firefox_3_gets_a_new_java_plugin/?from=rss-category/ [gemal.dk]
  • by The Ancients (626689) on Wednesday February 27, 2008 @07:44PM (#22581234) Homepage
    in this thread [mozillazine.org]
  • by DigiShaman (671371) on Wednesday February 27, 2008 @07:44PM (#22581236) Homepage
    Silly question perhaps, but is optimized to use SSE, SSE2, SSE3, or any other instruction sets?
  • by TheNarrator (200498) on Wednesday February 27, 2008 @07:53PM (#22581374)
    Microsoft's biggest mistake was thinking people wouldn't write complicated apps in Javascript. They supported it, in their usual half broken style, but it created the only widely deployed cross-platform system for running code that Microsoft has ever implemented. Now, with Firefox 3 running so fast javascript might become THE platform. It's hilarious because Javascript started out as such a kludgy platform and now it is becoming a serious contender if only because it's the only cross-platform thing Microsoft ever supported.
  • by 99BottlesOfBeerInMyF (813746) on Wednesday February 27, 2008 @08:04PM (#22581498)

    Well someone had to, so I ran the numbers for OS X. All of the below were on OS X 10.5.2 running on a MacBook:

    • Safari 3.0.4 - 11112.0ms
    • Safari with Nightly Webkit r30628 - 3525.8ms
    • Firefox Nightly3.0beta4pre - 4330.2ms
    • Opera 9.26.3727 - failed (but all those that ran were slower than Safari 3.0.4 so it is the slowest overall for what worked.)

    I guess if you're a Safari or Firefox person you can look forward to some really fast Javascript performance either way.

    • by 99BottlesOfBeerInMyF (813746) on Wednesday February 27, 2008 @08:37PM (#22581890)

      Replying to my own post, I probably should have included Firefox 2.0.0.12 as well. Here are the numbers for that and Firefox 1.5.0.8 which is still on my machine for testing purposes.

      • Firefox 2.0.0.12 - 13840.0ms
      • Firefox 1.5.0.8 - 16849.6ms
  • by NevarMore (248971) on Wednesday February 27, 2008 @08:12PM (#22581570) Homepage Journal
    I've seen the SunSpider benchmark come up before, and it is a great benchmark for JavaScript as a language, but it may be inappropriate for a browser.

    This test mostly avoids microbenchmarks, and tries to focus on the kinds of actual problems developers solve with JavaScript today, and the problems they may want to tackle in the future as the language gets faster. This includes tests to generate a tagcloud from JSON input, a 3D raytracer, cryptography tests, code decompression, and many more examples. There are a few microbenchmarkish things, but they mostly represent real performance problems that developers have encountered.
    Raytracing? Crypto? These aren't things I'd consider running in a browser and certainly not with JavaScript. Just because JaveScript and a modern browser on a mid-range machine CAN do these things doesn't mean it should.

    JSON, code decompression, and traversing XML are things that a browser does with JavaScript, some more often than others. Even in those cases, I wouldn't be surprised if browsers had parsers that 'helped' the common browser JavaScript tasks with faster native-library interfaces instead of purely native JavaScript interpretation.
  • stalling (Score:4, Insightful)

    by rubycodez (864176) on Wednesday February 27, 2008 @08:22PM (#22581706)
    and does a single tcp socket's stalling not cause the whole damn thing to seize up?
  • by RelliK (4466) on Wednesday February 27, 2008 @08:58PM (#22582126)
    Or does a single tab still cause the entire browser to freeze up?
    • by Wolfier (94144) on Thursday February 28, 2008 @12:51AM (#22584336)
      Exactly what I think.

      Who cares about Javascript performance when a single script running at any speed can freeze the entire browser?

      Or a few Youtube tabs can slow the browser to a halt? (Hint: Firefox REALLY need to delegate Flash rendering to an external process, something I can renice 19. Just like how Konqueror uses nspluginviewer)
  • by jopet (538074) on Wednesday February 27, 2008 @08:59PM (#22582140) Journal
    Luckily many pages don't need Javascript or at least not a lot of JS to render.
    What I find more important are the lockups I get because of limitations to multi-threading in FF, at least under Linux. There are situations where one window locking up means all windows lock up. There are situations where some initial connection to a host being stuck means all of the browser locks up. One can only guess, because FF does not indicate what the problem is -- but more frequently than is funny, I have FF get unresponsive, not re-painting windows anymore and just eating up CPU and memory without reacting until I kill it.
    This sucks and this doesn't seem to have changed in FF 3.
  • by abigsmurf (919188) on Wednesday February 27, 2008 @09:05PM (#22582208)
    I always see these benchmarks and wonder "why does this matter?". The only time I ever see Javascript run too slow or tax my CPU is when it's buggy and then it'll probably throw up all sorts of warnings anyway. This is on any browser I've used and any system.

    What matters to me is the imperfect implementation of Flash (it's not really their responsibility but it is their problem) which often eats up 100% CPU from random flash objects or causes firefox to freeze. Another annoyance is Firefox being frankly poor at displaying large HTML files (when you go on websites with insanely large lists for instance). Where as IE and Opera display these as the page is downloaded. Firefox, for me, freezes, much like notepad will when you open a 2meg+ file . Sometimes it'll recover and display the page after a minute or so, sometimes I have to ctrl+alt+delete.

Some programming languages manage to absorb change, but withstand progress. -- Epigrams in Programming, ACM SIGPLAN Sept. 1982

Working...