On Thu, Nov 08, 2007 at 09:31:31AM -0500, Lennart Sorensen wrote: > I don't consider it a real issue either, but it is still something. I > am not sure why sparc tends to run 32bit for most programs and only > 64bit for select cases where it helps. Certainly x86_64 seems to be > better than i386 in just about all cases.
Taking the same code, going from 32-bit to 64-bit will cause a slowdown, period. The only way to overcome that is if you can write better code in 64-bit mode than you could in 32-bit mode. There are apps that indeed benefit from directly accessing more than 2G of address space and therefore can use simpler algorithms in 64-bit mode, but they are rare (at least on desktop). AMD knew all this and they also knew they have to counter-balance the slowdown if they ever wanted 64-bit to became the norm, so they did a smart trick and doubled the register set size in 64-bit mode. Since i386 is a very register-starved architecture, that move indeed helped a lot by making it much easier for compilers to generate better code. So it's not only "in 64-bit mode you can keep more variables in registers" but also "it is easier to write good compilers for 64-bit mode". AFAIK Sparc (and basycally any other 64-bit capable processor) offers the same number of registers in both 32-bit and 64-bit mode, so there is nothing that could balance the slowdown caused by going 64-bit. And even if they wanted to use the same trick as AMD it would not help as Sparc already has enough registers - adding more would give a much much smaller performance gain than it did for x86_64. > I hope they come out with a way faster improved CPU before then. Hehe, they could introduce a new 32-bit mode that has the same number of registers as the 64-bit mode has. OTOH marketing people would have a really tough time to push down such a change on consumers' throats... Gabor -- --------------------------------------------------------- MTA SZTAKI Computer and Automation Research Institute Hungarian Academy of Sciences --------------------------------------------------------- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]