Username or EmailPassword
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.