In my personal experience porting applications from 32 bits to 64 bits, I have mostly seen performance stay approximately the same, or reduce. My dataset is pretty small (4 applications), but intuitively, 64-bits is twice as large as 32-bits. This effectively halves caches sizes (since your 1MB cache now holds data that is twice as large), and reduces the effectiveness of speculative prefetches, among others. I have seen larger performance decreases when the code contains a lot of pointer references. There are some performance advantages to 64-bit ISA's - clearly any code that wants 64-bit integers naturally will be much happier with a 64-bit instruction set, but in general, Mark Rein's comments notwithstanding, I have seen performance stay about the same since they offset each other. I'm not sure what Epic was doing to see the increase that they cite, but when I did it, I was hard-pressed to keep performance neutral.