[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 2.6.0-test6



"Paul" wrote:
> I'm not saying that 32 bit is right for everyone, I am saying that for
what
> I do, it would give me a noticeable and measurable boost in speed.
<snip>
> Again, if I'm wrong, please explain to me how and/or why. I'm learning
every
> day, and I'll learn from anybody that can/will teach me.

I can try. :)

In a 64-bit processor most of the pipelines, memory registers, connections
to the bus and other circuitry would also be 64-bit. So it effectively takes
as many clock cycles to do an operation using a 64-bit application as it
does using a 32 bit application (if we could still measure things in clock
cycles). If you have functionality that can use the full 64-bit, which would
include floating point operations and file access, then you will get the
speed improvement. Anyway, on a 64 bit processor it is quite likely that it
runs a 32 bit application internally by padding the upper 32 bits with
zeros - so you have a kind of 64 bit emulation.

Even if you took two identical processors, but one with 32 bit pathways and
one with 64 bit pathways, then it is most likely that they would both
execute 32 bit code at the same speed. If you executed a 32 bit application
and a 64 bit app on the same processor, then it is possible that the 64 bits
would be slower because data must be fetched from memory 8 bytes at a time
instead of 4 bytes at a time - but this is only a problem if the connection
to memory is 32 bit. Since many cache controllers seem to prefetch more than
this at a time, it becomes irrellevant.

I think the issue is muddied because most of us remember the upgrade from 16
to 32 bit Intel processors. This gave a dramatic speed improvement because
64kb is not much space for any application. But 4Gb is more than most
applications need, so the performance improvement of 64 bit from 32 bit is
not anywhere near as good.

To bring this on topic: I do find Debian on UltraSparc to be a little slow -
although fast enough for my needs. This is because most applications are
compiled for the lowest common denominator. The result is that some of the
newer opcodes that could bring performance improvements are not being used.
Which just goes to show that the 64 vs 32 bit issue is mostly a red herring.
I can run a 64 bit kernel, but if SSH does not make use of the processors'
advanced maths functionality, then it will still be slow.

Look at it this way, a 700MHz Pentium III will whip a 1GHz UltraSparc III -
if you are playing Quake, and the Pentium III has a fast new NVidia GeForce
compared to the Sparc's 9600 baud serial console.

Which is a very long winded way of saying: forget about 32 vs 64 bit. If you
know you need 64 bit, good. If you already have 64-bit, then you will not
lose anything by using it. And if you really want GLXGears to spin fast,
consider a good graphics card instead.

HTH,

- Matthew



Reply to: