[ale] 64bit or 32bit

Michael B. Trausch mike at trausch.us
Thu Jan 21 12:18:47 EST 2010


On 01/21/2010 08:22 AM, Geoffrey wrote:
> I'm looking for some insight on whether I'll get any performance gain by
> installing 64bit RHEL verses 32bit.  This is my Macbook Pro.  It has 2g
> of memory.
>
> I'm assuming no performance gain, but no loss either?

These days, there is little reason to use a 32-bit operating system on 
64-bit capable hardware. If you are going to be running virtual 
machines, then having a 64-bit operating system offers you the ability 
to have a lot more memory assigned to virtual machines than you could 
when running a 32-bit version of the system.

GCC can better optimize code built for long mode on these chips, because 
of the fact that there are more registers available.  Also, application 
software no longer has a 3 GB per process limit on memory, so if you 
work with large amounts of data (and have the memory to do it) you can 
do so without any trickery or very slow operations.  The downside is 
that if you have to run any real mode code, you have to emulate real 
mode---it's not available after the processor switches to long mode.

I've been using 64-bit versions of Ubuntu now for the past two to three 
years.  They have significantly improved since I started using them; it 
used to be that there were various quirks to be found that were 64-bit 
specific (say, an application would assume a 32-bit environment somehow 
and behave differently).  I haven't really run into any 64-bit specific 
quirks in a long time though.  The only thing there is Flash: and the 
answer to that is Google Chrome. (Yay for multi-process browsers, 
seriously.)

Also, if you need to use something that is 32-bit on a 64-bit system, 
you can do so: create a 32-bit chroot.  AFAIK, all distributors that 
ship 64-bit kernels ship it with the CONFIG_IA32_EMULATION kernel 
parameter set to "y", so you can run 32-bit code as long as the 
supporting libraries are available.  Mostly, I'd use that for running a 
32-bit chroot so that if you have to test something that you've written 
to be sure that a 32-bit binary will run with the same behavior as a 
64-bit one, you can do so.  That said, I haven't had a need to do that 
for some time.

There may be some proprietary application software that is still 32-bit 
only: if you need to run any of that, I'd suggest that you either setup 
a chroot or install the libraries that it needs to run.  (Or, don't use 
it, of course. :-P)

	--- Mike

-- 
Michael B. Trausch - mike at trausch.us
Tel: (404) 592-5746 x1


More information about the Ale mailing list