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.
v7
by TonyB on Fri 23rd Jan 2004 15:37 UTC

Actually, compiling with v7 is actually pretty worthless. The v7 instruction set doesn't include integer divide or integer multiply, nor does it use quad-precision floats (nor does v8 by itself for quad floats), which can mean a significant slowdown in several apps, including OpenSSL:

compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -O3 -fomit-frame-pointer -Wall -mcpu=v7 -DB_ENDIAN -DBN_DIV2W
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
sign verify sign/s verify/s
rsa 512 bits 0.0163s 0.0016s 61.5 623.8
rsa 1024 bits 0.0947s 0.0052s 10.6 190.9
rsa 2048 bits 0.6176s 0.0187s 1.6 53.4
rsa 4096 bits 4.3433s 0.0694s 0.2 14.4
sign verify sign/s verify/s
dsa 512 bits 0.0149s 0.0183s 67.3 54.6
dsa 1024 bits 0.0503s 0.0614s 19.9 16.3
#


The result reduces performance of OpenSSL by about half.

Using -mcpu=ultrasparc (or -xarch=native) as a compiler flag represents what most people would (and many build scripts automatically) use for UltraSPARC-based systems. It represents the highest level of optimization for an UltraSPARC system, and that's what should be used if you don't have to worry about running your binaries on older systems. And if you do, it's probably worth your time to make two sets of binaries: UltraSPARC optimized, and binaries for the older processors you're using (hopefully v8 and not v7).

The test was done to see if 32-bit binaries run faster on 64-bit capable systems than 64-bit binaries, so using the maximum available optimizations for 32-bit on the UltraSPARC are entirely appropriate.

Granted, the tests were limited in scope. I hope this brings about a new round of performance tests done by others, representing other scenarios and methodologies.

I'm tired of seeing conjecture, and conjecture-taken-as-fact in regards to OS and platform performance. Even if it's backed up by sound computer science theory (64-bit data paths, cache misses, etc), it's still pure conjecture until it's tested.