On Mon, Dec 17, 2012 at 11:41 AM, Jim Klimov <[email protected]> wrote: > On 2012-12-17 06:59, Alan Coopersmith wrote: >> >> Oh, and it assumes no one needs 32-bit binaries any more, >> [...] > > Well, I may probably get corrected (and should, if need be) - but > in such discussions I've always thought (and heard) that these are > two different things. 64-bit kernel is for optimal harnessing of > hardware with large (>4gb) memory and perhaps wider instructions > on CPU. > > 64-bit or 32-bit userspace programs is about addressing virtual > memory again and large files to an extent (AFAIK the latter can > be used with 32-bit programs too). 64-bit userspace with "small" > programs like many UNIX command-line tools, GUI applets, etc. > which don't feasibly need to juggle gigabytes of data at once - > now, that would also be about wasting RAM and CPU cycles on > pushing around more bytes of pointers and other increased > structures with no practical gain. > > Am I wrong to maintain this point of view?
It's a trade-off. Certainly on x86, 64-bit code is significantly quicker (it's much more modern). On SPARC, it's probably so-so. If you have to support a 32-bit system, then you're forced to ship 32-bit userspace binaries. You could ship both 32- and 64-bit, and use isaexec, but that's additional work to build, more bytes to ship, and a slight performance hit to go through isaexec. If you don't have to support 32-bit at all, then you don't have to worry about those compromises and can just ship 64-bit applications and be done with it. -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/ _______________________________________________ OpenIndiana-discuss mailing list [email protected] http://openindiana.org/mailman/listinfo/openindiana-discuss
