On 05/25/2011 12:58 PM, Bill Davidsen wrote: > Chris Adams wrote: >> Once upon a time, Fernando Cassia<fcassia@xxxxxxxxx> said: >>> Well guess what? 64 bit code is bigger (bigger pointers) and thus >>> slower, because CPU cache is less effective, with bigger code. >> >> All other things being equal, that might be true. However, all other >> things are NOT equal; pointer size is not the only different between >> i686 and x86_64. The biggest gain is that x86_64 has a much larger >> register set, so a lot of things don't have to hit RAM at all (and are >> much faster). Also, the ABI is much better, and this may be almost as significant. > Unfortunately that biggest gain only occurs if the program logic is such that > registers run out often. Which, in the case of gcc-generated code, is most of the time. gcc was originally written for, and still works best with, a machine with 16 or more general-purpose registers. 32- bit x86 only has five or six registers to play with, and this just isn't enough for good code generation. I don't think that Java has it very much easier. Andrew. -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines