Phoronix: On Old Hardware, Think Twice About Ubuntu 12.04
With the official release of Ubuntu 12.04 LTS "Precise Pangolin" being less than one month away, the feature freeze having long passed, and the kernel freeze being imminent, it's time for the usual biannual Ubuntu Linux benchmarking festivities at Phoronix. In the coming days and weeks there will be numerous articles looking at the performance of Ubuntu 12.04 LTS when it comes to its desktop/workstation performance, boot performance, power consumption, and all sorts of other figures to judge the performance of Ubuntu's Precise Pangolin release. One area from the testing thus far that has stood out has been the Ubuntu 12.04 LTS performance on older PC hardware, but unfortunately it's not standing out for a good reason...
There are a lot of distros out there that welcome older hardware with open arms so that Linuxers with such old hardware won't have to fret as Ubuntu has gotten pretty top heavy lately and it's been a dog on even my 5 year old 3.2 GHz AMD64 x2 system that has 4GB RAM. Crunchbang is my fave light distro and my old Thinkpad T42 rocks with this one
64 bit works best on systems with 4GB or more of RAM so if you got less than that on a 64 bit system go with a 32 bit version
For Windows 7 I would agree that the threshold is 4GB. But for Linux, in my experience, it's around 2GB. This has been discussed quite a number of times on Phoronix forums. With 64-bit kernel and applications you get more general purpose registers and much better FPU - at least SSE2 by default versus the ancient x87 by default for 32-bit applications (yes, 32 bit applications can make use of SSE2 but they either have to have been built with it and then they won't run on any system that doesn't support SSE2 or discover and use it dynamically which only a handful of applications can do, mplayer being a notable example). With 32-bit setup you get slightly less memory consumption but in my opinion it is more than made up for by the advantages of 64 bit. And 32-bit mode has another drawback that is rarely mentioned - not all physical memory is mapped in the kernel part of the address space. Apparently, in the default 3G/1G memory split there's room for only 896MB physical memory mapped into the kernel address space at all times. The rest is HIGHMEM. If the kernel is to use it, it has to map it into its address space first. So there's constant juggling. I don't know how much of an issue that is but it certainly doesn't help.
There's also a case to be made that with tighter memory limits one can use 32-bit userland with a 64-bit kernel. But, at least to the best of my knowledge, this setup has never been tested by Michael. I, for one, would very much like to see such test.
I installed 12.04 on an older machine (forgot the exact spec) with 1GB RAM for my in-laws. In retrospect, I should have chosen the 32-bit version over the 64-bit version. Switching to Unity 2D helped a lot but it's still a bit sluggish. Better than the bloated Windows setup they had before though.