Firefox suffers middle-aged bloat

Mike Halsey MVP
Dec 13, 2011
Updated • Mar 11, 2015
Firefox
|
16

It would appear that Firefox, that venerable browser that was the first one to give Microsoft a true kick in its complacency, is suffering from some middle-aged bloat.  In a report by H-Online it's said that the open-source browser's code is now so large and complex that it can no longer be properly compiled for release.

The problem stems from a process called "Profile-Guided Optimisation" that is used, in two passes, to compile the code.  In the first pass profile information about the browser's run-time behaviour is generated while the compilation is taking place.  This "profile" data is then used to create an optimised browser in the second compilation pass.  This process, which was adopted by Mozilla four years ago, improved the browser's performance by 10%.

Now though the 32-bit builds of Firefox, which are used by 90% of all Firefox users fail because the compiler software requires more than 3Gb of memory, which isn't supported by the 32-bit operating systems required to compile the code.

Seemingly the problem is caused by the specific compiler software Mozilla use with H-Online saying a move to Microsoft's Visual Studio 2010 would solve the problem while inevitably causing minor embarrassment for Mozilla.

Mozilla's engineers are discussing several options, one of which is to move some code from within the browser itself to external dynamic libraries.  This however would only save around 300Kb.  Another solution would be to find a way to compile the 32-bit version in a 64-bit host operating system (something that the move to Visual Studio would apparently solve).

This isn't the first time Mozilla has encountered a compiler memory problem.  In early 2010 a 2Gb memory limit caused a similar problem.  This was overcome however and there's no reason to assume it won't be overcome this time too.

We're not going to see Firefox go away, even for a short while, because of this problem.  The browser will continue to be released on schedule, but Mozilla's engineers will need to find a new way to compile the code while keeping their operation completely open-source.

Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. jim said on December 21, 2011 at 8:20 pm
    Reply

    The author, in addition to demonstrating the ignorance, laziness and/or bias noted in the preceding comments, has also demonstrated that he failed sixth grade English grammar.

  2. Ed said on December 16, 2011 at 5:17 pm
    Reply

    lol you guys

  3. Dougle said on December 15, 2011 at 4:10 am
    Reply

    I’m disappointed to see this ridiculously misleading headline is still up. Seriously, do a little research and make the necessary corrections. may I also suggest that Mr Halsey confines his articles to things Microsoft as it appears this is outside his comfort zone.

    1. R.D said on December 15, 2011 at 5:07 pm
      Reply

      Is ok mate, I’ll write a book about Windows hotkeys, become MVP, then offer a more constructive view of Firefox here and there… ;)

    2. vasa1 said on December 15, 2011 at 4:18 am
      Reply

      Dougle, I really think that that is a call for Martin since Ghacks is his site and such articles affect the site’s reputation for unbiased coverage. This MVP is just doing what other MVPs seem to be doing elsewhere. I don’t need to spell it out.

  4. Leslie said on December 14, 2011 at 5:17 pm
    Reply

    If I was PM of the firefox project then the first thing I would do is order a full review of the source code. In particular I would be comparing firefox of today (IMO slow and clunky, technical terms I know) with Firefox at around version 3 which gives a far better user experience.

    Personally I have no problem with a multi-pass compilation process, in fact I have done it for years for a number of projects – its not that big a deal.

    1. R.D said on December 14, 2011 at 6:42 pm
      Reply

      Fx now is so much smoother, and Easily out performs 3.6.
      I appreciate its iyho, but the facts are undeniable.

      Fx9/10 leaves 3.6 in its dust.

  5. vasa1 said on December 14, 2011 at 2:26 pm
    Reply

    And if Firefox is middle-aged or venerable, what does that make Microsoft? I think MVPs should exercise some discretion while commenting, mostly negatively, about software that competes with Microsoft’s products.

  6. vasa1 said on December 14, 2011 at 12:41 pm
    Reply

    Two quotes that obviously would make Mozilla less culpable:
    “The only real fix is for us to get a 64-bit linker. I remember some folks
    mentioning how Microsoft doesn’t have plans on shipping one (my memory
    might not be serving me well here). But really, we should talk to
    Microsoft and find this out. If they’re not planning to ship a 64-bit
    linker within the next year or so,”

    “Microsoft is not going to provide us with a 64-bit linker in any reasonable timeframe. We cannot switch wholesale to any other linker because we need the optimizations (including PGO) in Microsoft’s. ”

    I leave it to the author to research and find out where those quotes are. Omitting them certainly makes Mozilla appear less competent. I recollect a hotmail issue that delayed the release of Fx 4.

    Maybe we should realize that Mozilla is fighting on hostile territory when coding on MS Windows.

  7. sebastien said on December 14, 2011 at 10:49 am
    Reply

    I believe compiling chrome is harder but why they tend to direct the real attack at firefox. I also want to know how the three core browsers like avant browser and Lunascape keep pace with these bloats.

  8. vasa1 said on December 14, 2011 at 9:08 am
    Reply

    It still is my browser of choice on MS Windows. The bloat is not of concern to the end-user. In no way is the end-product lumpy. But it’s natural that agents of competing browsers will try to play up so-called weaknesses.

  9. Dougle said on December 14, 2011 at 7:01 am
    Reply

    Please remove the word ‘bloat’ from the title of the article, it’s not only misleading, it’s incorrect.

    Had you been prepared to do a little research, instead of simply regurgitating someone else’s blog post, you would have found that the problem has arisen (again) because libxul – the main library – when complied with PGO, has become to large to compile using 32 bit build machines running MSVC 2005. The problem is in how much memory can be addressed using this architecture.

    Incidentally, if you read the build instructions for Chromium, you’ll find they recommend using 64 bit build machines to avoid linker address limitation problems, or to put it simply, to avoid hitting the same limits Mozilla have run into.

    Moving to 64 bit build machines will help, but what’s really needed is a 64 bit linker, which, as far as I know, is not currently available from MS.

  10. Martin Brinkmann said on December 13, 2011 at 11:20 pm
    Reply

    Why would it be embarrassing to switch to Visual Studio? I bet Microsoft would provide them the software free of charge, it is good advertisement for them

  11. Hurd said on December 13, 2011 at 11:19 pm
    Reply

    So, where’s the news in this article?
    That versatile programs need a lot of raw power and memory to be compiled? Duh.

  12. ParisMan said on December 13, 2011 at 8:46 pm
    Reply

    I’d better see them a bit embarrassed using Visual Studio than getting a lumpy browser put up by coders that don’t want to feel shy.

    Maybe Microsoft should offer them Visual Studio, so they won’t beg, lol.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.