The strange madness of recompilation

07Dec08

…and so didst the brave knyght of St. Archibald, riding with his pennants of gold, meet his ende on the typ of the lance belonging to that of the nefarious penguin mercenary, for the knyght had spent many an hour recompiling his helmet from scratch in the great forges, to reinforce it against blade and muscle, such that said knyght had no recollection of the tactics of warfare that led to his defeat…

And thus ends my strange attempt of fusing medieval literature with Linux.

I’ve recompiled many, many packages in Arch to test out the notion that it does little benefit for the system. That notion is mostly true. I decided to try out the Intel C Compiler (icc) for this since I’ve heard it can give better performance. I have compiled gtk2, libx11, Ruby and Pango and various other applications and there isn’t any speed difference you can detect without a stopwatch. Python became slightly faster at one of my Project Euler solutions, but nothing that really makes me go “oooh, I HAVE to recompile this next time”.

As for xulrunner, I sliced off a lot of its extra settings and there is little difference. Here is the mozconfig file I used:

. $topsrcdir/xulrunner/config/mozconfig
ac_add_options –prefix=/usr
ac_add_options –libdir=/usr/lib
ac_add_options –with-system-nspr
ac_add_options –with-system-nss
ac_add_options –with-system-jpeg
ac_add_options –with-system-zlib
ac_add_options –with-system-bz2
ac_add_options –with-system-png
ac_add_options –enable-system-lcms
ac_add_options –disable-system-sqlite
ac_add_options –enable-system-cairo
ac_add_options –with-pthreads
ac_add_options –enable-strip
ac_add_options –disable-tests
ac_add_options –disable-mochitest
ac_add_options –disable-installer
ac_add_options –disable-debug
ac_add_options –enable-optimize=”-march=native -mtune=native -Os -pipe -fomit-frame-pointer”
ac_add_options –enable-default-toolkit=cairo-gtk2
ac_add_options –enable-pango
ac_add_options –enable-svg
ac_add_options –enable-canvas
ac_add_options –disable-javaxpcom
ac_add_options –disable-crashreporter
ac_add_options –enable-safe-browsing
ac_add_options –enable-startup-notification
ac_add_options –enable-profile-guided-optimization
ac_add_options –disable-accessibility
ac_add_options –disable-system-hunspell
ac_add_options –disable-updater
ac_add_options –disable-postscript
ac_add_options –disable-gnomeui
ac_add_options –disable-gnomevfs
ac_add_options –disable-printing
ac_add_options –disable-composer
ac_add_options –disable-dbus
ac_add_options –disable-oji
ac_add_options –disable-vista-sdk-requirements
ac_add_options –disable-parental-controls
ac_add_options –enable-plaintext-editor-only
ac_add_options –disable-jsd
ac_add_options –disable-logging
ac_add_options –disable-mailnews
ac_add_options –disable-ldap

export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1

My latest recompiling obsession is the kernel. I have compiled nine of them so far, with varying levels of success! Still not a huge difference. Recompiling Gentoo-style is mostly done for fun and should not be attempted with the expectation that your system will run 10x faster than without.

In other news, I checked out the current progress of Slitaz on VirtualBox on my Windows machine. It has over 1100 packages in its repositories now–a quite significant amount for such a tiny distro! Unfortunately I don’t think I am in a position to install Slitaz on top of Arch. My current Arch installation has built up such a patina of… stuff, that it would be hard to replicate everything I wanted in Slitaz.

Slitaz is still a great distro though. It’s the only one I have had a crack at customising. I shall be very pleased when it releases version 2.0 sometime next year.

Advertisements


%d bloggers like this: