On Sunday 21 January 2007 10:37, Randall R Schulz wrote:
> Remember, too, that every single virtual address synthesized and emitted
> by the processor is 64-bits wide in a 64-bit mode, and for the large
> majority of applications, that's a whole lot bits that are always zero
> being shipped around. Since pointers are common in C, C++, Java, Perl
> and just about every modern language, there's a whole lot of
> unnecessary data movement when manipulating these pointers / addresses.

Again: its just plain faster running an x86_64 installation on an x86_64 
platform than running a 32bit installation.

So all of these horror stories about large pointers are FUD, and completely 
ignore the fact that the processor does handles those operations in 64bit in 
the same number of clocks as it does 32bit. 

Memory fetches in 64bit are also done in the same number of clocks as 
a memory fetch in 32bit, even though they are twice as many bits wide.

So to access or move 32k (or any size) of data from one place in memory
to another takes exactly twice as many instructions or iterations thru the
loop in 32bit as it does in 64bit.  

All of Randall's posturing on this issue covers only his narrow set of needs
and nothing more.  Most of this is triggered by the fact that he was 
completely unaware that the core 2 duo was an x86_64 processor so he
blindly installed the 32bit version of opensuse.  He has yet never installed
the x86_64 distro to even run the most basic tests. 

When someone posts hard figures he blindly dismisses them saying he
doesn't need them.

He doesn't know.  He hasn't tried it.  He hasn't even looked into the 
intel documentation on instruction clock speeds. He speaks from 
supposition, and a high level language programmers misunderstanding
about the basic operation of compiled code. 

-- 
_____________________________________
John Andersen
-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to