Firefox 1 vs. 8 Build Time

November 22, 2011 § Leave a comment

On November 9, 2004, Mozilla released version 1 of Firefox. At this time, I was about two months into my B.A. and was getting into Linux. During this time, I tried a lot of Linux distros, one of which was VidaLinux. This distro is built on Gentoo and in case you didn’t know, Portage (Gentoo’s package manager) is source based. In other words, installing new software meant it was compiled from source.

At the time, I was using my first ever personal notebook – a Dell Inspiron 1150. This had a 2.66Ghz P4 with 512MB of RAM (it was also heavier than a house). At the time, I used it for everything including my Linux experiments. This included my short time with VidaLinux which also gave me an appreciation for how long some programs take to compile from source. For me, Firefox took about an hour to compile from scratch. A simple “emerge firefox” from the command line started the process whereby the Firefox source was downloaded and compiled.

At the time, I felt that an hour was a long time just for a browser. I still do. That’s why I wanted to try this process again to see if I could do it any quicker. Here’s what I found:

My current machine is a 2.1Ghz C2D with 4GB of RAM running OS X 10.7.2. I didn’t want to download the Firefox 1 source and compile that because that test would be irrelevant for many reasons. Instead, I wanted to see if I could compile a working build of a current version of Firefox in less than an hour. In other words, had the ability for machines to compile code outpaced the growth in bloat that is Firefox.

Pre-Build

Before I began, I looked up the build instructions. I chose the simple build – I don’t want anything fancy here. As the instructions note, you have to setup an environment first by ensuring that you have all the appropriate tools. This required the building of a few tools. I already had Mercurial installed but I had to install libidl, autoconf and yasm. I downloaded MacPorts and started the build process. Building these tools/libraries alone took quite a while. In fact, it took 31 minutes and 42 seconds.

real 31m41.689s
user 18m10.658s
sys 7m59.471s

Getting the Source

The next step was to get the source. This was a simple Mercurial command and doesn’t require any compiling or installation so it went much quicker. It took 5 minutes and 10 seconds to get the 67.1MB bunzipped tarball of the Firefox 8.0.1 source from Mozilla’s FTP server.

real 5m9.637s
user 0m0.981s
sys 0m3.640s

Decompressing the source took another 1 minute and 1 second.

real 1m1.336s
user 0m26.413s
sys 0m9.748s

Building Firefox

This is the longest part by far (which, of course, is expected). It took surprisingly long: 1 hour, 46 minutes and 52 seconds.

real 106m51.707s
user 84m6.868s
sys 11m56.574s

Conclusion

It’s slow. Still. The whole process took a total of 2 hours, 24 minutes and 45 seconds. Now, to be fair, you you’d only have to install the “pre-build” tools once but even then, I’m still looking at close to two hours to build Firefox. Ugh.

Where Am I?

You are currently viewing the archives for November, 2011 at /home/vansmith.