You're right, "enthusiasts" is more appropriate.
Printable View
The benchmark does not say x32: 117%
It says x32: 100% and x64:114%
So yes, a new ABI to gain 14% in execution time (and 40% in memory consumption, in the particular case).
Why do you think this to be a problem when the same blog talking about x32 "myths" you linked explicitely states:Quote:
And you forgot that proprietary vendors (Nvidia, AMD, Adobe, Microsoft) will certainly never support x32
Having the Linux kernel compiled with CONFIG_X86_X32 doesn't mean it will be limited to X32 binaries.Quote:
Also remember that for compatibility the syscalls are kept the same with x86-64
https://bugs.archlinux.org/task/31270
While I know ubuntu isn't released in an X32 flavor yet, the better article would be a comparison of all 3, X32, x86 and x64.
whats the big deal with these pointers? is smaller pointers are good for performance, why not reduce them even further? would probably be an interesting thing when someday 128 bit may be introduced, to have a dynamic pointer size. if thats possible at all..
i blame either memory alignment or pointer arithmetic(if its not the same) for those couple slower tests
(compiler can too, but idk that)
64bit program with proper memory alignment should take twice as much memory then the 32bit counterpart (also with memory alignment)
what is not optimal for all things (space-time trade off)
64bit cpu should be faster in all ways (except memory consumption, but memory speed should be the same and 64bit can fetch 64bits at a time, 32bit can 32) when working in 64bit mode as you at least have extra registers to play with (not faster by much as the cpu has "register renaming" and some extra tricks in bout modes)
there have been 64bit cpu's even 20 years ago, but have not been used for practical reasons
mind you can use the 128bit sse registers for storing data and processing floating points in bout 32 and 64bit modes (in 64bit mode you get extra sse registers, same applies as above stated)
http://www.cs.umd.edu/class/sum2003/...p/pointer.html
about pointer arithmetic