F 15. 64 bit versus 32 bit.

Alan Cox alan at lxorguk.ukuu.org.uk
Wed May 25 14:07:42 UTC 2011


> Also, the ABI is much better, and this may be almost as significant.
> 
> > Unfortunately that biggest gain only occurs if the program logic is such that 
> > registers run out often.
> 
> Which, in the case of gcc-generated code, is most of the time.  gcc
> was originally written for, and still works best with, a machine with
> 16 or more general-purpose registers.  32- bit x86 only has five or
> six registers to play with, and this just isn't enough for good code
> generation.  I don't think that Java has it very much easier.

The overall performance difference seems to be about 20% these days
although of course very workload dependant. A 32bit kernel in particular
really starts to hurt above 1GB RAM (actually about 900MB) and once you
get towards 4GB the 32bit option becomes a complete waste.

KVM in some ways makes the choice easier. If you are running lots of
guests then its often a very good idea that your main desktop environment
is itself a guest - for security and convenience reasons. That makes it
easy to have a 32bit guest around, or even keep a 32bit 'internet' guest
just for browsing etc and to keep anything of value and the internet
further apart from each other.

[Also of course means you can have several guests some using tunnels if
 you are paranoid about the black helicopters ;)]

Alan


More information about the users mailing list