On Wed, 20 Aug 2008 23:55:36 +0100, Trent Nelson <[EMAIL PROTECTED]> wrote: > 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?
I'm always surprised by people who expect big performance gains when moving from x86 to x64. The basic instruction set is about the same, and on a given CPU, the individual instructions take the same number of cycles. Pointers and instructions with address literals are twice as long, so you can fit fewer instructions in the cache. Also, remember that you have MSIL in there. The MSIL instruction set is not particularly well mated to CPUs with large register files. For many IronPython programs, you almost end up with an accumulator architecture. Overall, for a native program that is not memory-bound, I expect the x86 and the x64 versions to be pretty much equal in performance. WOW64 is only an issue in the other direction -- running 32-bit apps on a 64-bit operating system. > 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 232? > Nope, that really is the *primary* impetus behind x64. SQL Server, for one, runs substantially faster (unbelievably so, in many cases) on an x64 system, because of the reduced swapping. -- Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc.
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com