In article <[EMAIL PROTECTED]>, Helge Hess <[EMAIL PROTECTED]> wrote:
> Why do I expect this? Because in Objective-C programs plenty of objects > are used and objects in ObjC are always accessed by pointers. Just take > using a simple NSString like @"hello", the isa pointer will be larger > than the payload. Every reference to the string will be larger than the > payload. Sounds logical, until you realise that a 64-bit CPU's native integer size is actually 64 bit. So, every time it does a 32-bit instruction, it has to perform an additional step to mask out the high word or so. It's probably similar to the speed hit you got on the 68000 when accessing unaligned bytes. I'd expect a 64-bit CPU to be slower than a 32-bit CPU, no matter whether it's executing 64-bit or 32-bit instructions. Since they wouldn't sell much of 'em that way, the hardware engineers probably made sure the CPU packed enough power to beat a 32-bit machine when running in 32-bit mode. And that means the CPU will be even faster in 64-bit mode. Just a guess, though... you never know what crazy optimisations those weird hardware designers build into their chips ;-) -- Uli http://www.zathras.de _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
