2008/8/21 Trent Nelson <[EMAIL PROTECTED]>: > Slightly off-topic: I'm fascinated by x64 vs. x86 performance comparisons > like these, especially when x64 lags (often significantly) behind x86. > What's going on here? Does the sheer size difference between x64 code and > x86 code trump all other benefits offered by x64? What about all the extra > registers available? (Or is that a non-issue given the prolific register > re-naming an Intel x86 chip does these days?) Is it just that compilers > generating x64 code just aren't as mature as x86 compilers yet? Or do we > incur a penalty from WoW64? Can we never expect the performance of x64 code > to surpass x86 code? Surely the momentum towards x64 (try buy a non-x64 CPU > these days) is sustained by something other than having access an > addressable memory area greater than 2^32?
1. Code size difference matters *a lot*. Pointers are twice the size, and that means less cache. 2. If you memory map data larger than 2 GB, x64 wins. 3. If you do bigint (anything involving 32bit-32bit multiplication), x64 wins. See the case study at http://gmplib.org/32vs64.html 4. Extra registers *can* help, if your compiler explots it well. But the point 1 *may* offset any benefit. 5. IIRC Mono x64 JIT is basically the same codebase as Mono x86 JIT, and the point 1 and 4 seems to pretty much offset each other. So they perform about the same, except when the point 2 or 3 apply. -- Seo Sanghyeon _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com