[rescue] Solaris on a PPC

Stephen D. B. Wolthusen stephen at wolthusen.com
Thu Feb 6 12:14:27 CST 2003


Hi,

On 06-Feb-2003 Dave McGuire wrote:
> On Thursday, February 6, 2003, at 03:40 AM, Bjorn Ramqvist wrote:
>> Why is NT on Alpha 32bit? Wouldn't that mean horrible performance?
> 
>    Despite hype to the contrary, 64-bit code is NOT any faster than 
> 32-bit code, unless the code in question is dicking with 64-bit values 
> directly (which would typically have to be done iteratively on a 32-bit 
> machine) or needs a virtual address space of more than 2^32 bytes.
> 
>    The notion that the simple matter of having pointers and integers 
> that are 64-bits wide is somehow faster is asinine at best.

In many cases (with obvious exceptions being database-related work and codes
that actually make use of larger integer and pointer ranges), 32 bit code is
actually *faster* on machines that support both (such as Alphas and
UltraSPARCs -- both of these support mixed operations, i.e. you typically have
the OS running at 64 bit address width and applications running at 32 or 64). 
The reason for this is that moving instructions (think constants embedded in
opcodes) and of course operands takes up a portion of the available memory
bandwidth -- which is the limiting factor on most current CPU architectures,
even on balanced system architectures that Alphas are typically part of.
Similar arguments obviously also apply to other pathways such as prefetch
queues (which can have devastating effects on tight loops) and caches. 
In memory, however, the story is different. Here, Alphas really like to have
addresses aligned to the cache line size. That means a few hundred
bytes wasted at most, and when performance matters that much, main memory is
cheap (*).

(*) Relatively speaking, of course. They could at least send memory kits in
    the nifty little packages normally used for overpriced bespoke jewelry.

-- 

        later,
        Stephen

Stephen Wolthusen (stephen at wolthusen.com)


More information about the rescue mailing list