[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: back online again
From: |
Uli Kusterer |
Subject: |
Re: back online again |
Date: |
Mon, 16 Jan 2006 00:07:15 +0100 |
User-agent: |
MT-NewsWatcher/3.4 (PPC Mac OS X) |
In article <mailman.1236.1137366016.26925.discuss-gnustep@gnu.org>,
Helge Hess <helge.hess@opengroupware.org> 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
Message not available