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]
