Subject: Re: bootable cdrom
To: Sean Davis <dive@endersgame.net>
From: Eduardo Horvath <eeh@NetBSD.org>
List: port-sparc64
Date: 02/14/2005 17:29:11
On Fri, Feb 11, 2005 at 09:38:56PM -0500, Sean Davis wrote:
> On Fri, Feb 11, 2005 at 11:28:19PM +0000, sigsegv@rambler.ru wrote:
> 
> [snip how to install netbsd/sparc32 on netbsd/sparc64]
> 
> Okay, one question: I have an Ultra 5 running 2.99.9/sparc64 right now, what
> advantages (other than sparc32 binary compatibility without a special kernel
> option) would using NetBSD/sparc32 (calling it sparc32 for the sake of
> clarity) on that machine give me?
> 
> I've heard arguments that it's faster... but the machine is only 333mhz
> anyway, I'm not expecting it to compile KDE :-)

The simple answer:

1) The 32-bit toolchain is more mature than the 64-bit toolchain, so
it tends to be more stable and generate more stable binaries.  So running
32-bit userland binaries is sometimes necessary.  Especially with C++.

2) Certain interfaces (ioctl() for example) are difficult to implement
in netbsd32 and sometimes don't work, so some 32-bit programs will only
work on 32-bit kernels.

As for performance:

Pro)  32-bit code does often have a smaller cache footprint.

Con)  a number of instructions that are part of the SPARC V9 are more
	efficient and/or expose more instruction level parallelism
	which makes 64-bit code execute faster.

With the current state of compilers there is little performance difference
between 32-bit and 64-bit code.

Eduardo