Linked by Tony Bourke on Thu 22nd Jan 2004 21:29 UTC
Benchmarks When running tests, installing operating systems, and compiling software for my Ultra 5, I came to the stunning realization that hey, this system is 64-bit, and all of the operating systems I installed on this Ultra 5 (can) run in 64-bit mode.
Permalink for comment
To read all comments associated with this story, please click here.
when you benefit from 64bit
by Gandalf on Thu 22nd Jan 2004 22:29 UTC

Wonder why OpenSSL is faster in 64bits than 32bits? And why it's the oppiosite for the other applications?

One hint: floating point registers. They are usually 64bits and therefore applications that make heavy use of floating point variables/registers directly benefit from a 64bit binary.

Well, of course you'll benefit from 64bits if you are dealing with more than 4GB of RAM, or memory-mapped space (e.g. dealing with files larger than 4GB).

On the other hand using 64bit registers/pointers take up more memory. IE if you are deadling with 32bit integer variables, then you are essentially waisting 32bits of memory for each variable, and loading/storing from/to memory takes also more time. Therefore your applications slow down if you use 64bit builds that only deal with 32bit (integer) data.

OpenSSL is using lots of floating point calculations, therefore performance is better with a 64bits build: the overhead of the 64bit pointers is not as bad as the benefit from using 64bit floating point registers directly.

MySQL/gzip on the other hand don't use much floating point stuff, and therefore the overhead of using 64bit pointers is slowing it down.