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.
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.
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.
Decompressing the source took another 1 minute and 1 second.
This is the longest part by far (which, of course, is expected). It took surprisingly long: 1 hour, 46 minutes and 52 seconds.
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.