Tel: +44(0)1865 300 579
Fax: +44(0)1865 300 232

Programs for Programmers

Benchmarks

Fortran Performance Comparison
32 -bit vs 64-bit code on Mac OS/Intel

Customers regularly inquire if code runs faster on 32-bit or 64-bit systems. The answer ultimately depends on the code and will vary by application. As a general guideline, 32-bit code benefits from smaller code size while 64-bit code benefits from expanded addressable memory. Buss speeds, RAM and other variables can also influence performance.

Those cavets not withstanding, we have reproduced below the comparative performance of various compilers running the well-known Polyhedron Benchmark 2005 benchmark suite. For those unfamiliar with Polyhedron, they are a UK company with a long history of developing, debugging and supporting Fortran programs. Their benchmark suite is very well regarded and comprised of different programs they consider representative of the different types of code Fortran the typical customer encounters.

The charts in the links below list columns for both 32-bit and 64-bit versions of the programs, all run on the same hardware using 32-bit and 64-bit versions of Mac OS X/Intel.

Absoft Pro Fortran v9.2 (G5 based) was also included on the 32-bit table to demonstrate the potential performance increase available by running native code rather than G5 code under Rosetta (emulation).

All times are in seconds so lower numbers are faster. Underlined numbers are fastest.

Polyhedron 2005    
32-Bit
   
64-Bit
Benchmark Absoft 9.2 Absoft 10.0 G95 Gfortran Absoft 10.0 Gfortran
     
AC 70.07 13.63
23.99
15.96
9.98
12.27
AERMOD 154.44 23.76 63.47 39.87 22.35 37.19
AIR 21.01 8.95 13.68 11.58 8.31 10.03
CAPACITA 135.6 44.17 57.39 48.71 37.71 60.24
CHANNEL 11.26 4.49 25.01 5.79 3.34 2.28
DODUC 122.65 43.71 68.22 52.35 39.24 45.58
FATIGUE 32.83 8.09 51.84 17.67 6.99 13.55
GAS_DYN 73.98 4.43 47.73 23.75 3.7 22.43
INDUCT 165.12 57.31 107.37 62.44 55.12 57.86
LINPAK 28.5 27.45 27.39 27.3 27.33 27.28
MDBX 44.63 17.11 16.79 14.52 15.89 13.72
NF 39.98 26.7 53.22 33.22 24.61 31.8
PROTEIN 97.84 35.65 60.37 48.58 33.82 FAILED
RNFLOW 98.42 26.93 38.05 35.01 25.97 30.04
TEST_FPU FAILED 12.78 23.57 14.68 10.7 13.61
TFFT 7.07 2.9 3.08 2.7 2.42 2.43
     
Geometric Mean 50.47 16.22 33.23 21.76 14.33 18.86

 

Observations:

1. As shown in the links above, performance on these tests was faster in 64-bit mode for all programs.
2. On these tests 64-bit code ran 10+% faster compared to the 32-bit version.
3. Native code performance was 3X faster than G5 code run under emulation (Rosetta - v9.2)

Legend:
Green = Fast: Results within 10% of the fastest highlighted are in green
White = Average: Average results are not highlighted
Red = Slow: Results more than 50% slower than fastest highlighted are in red