The Computer Language
23.03 Benchmarks Game

Classic Fortran versus C gcc fastest performance

Always look at the source code.

If the fastest programs are hand-written vector instructions, does the host language matter? You might be more interested in the less optimised programs — more seconds, less gz source code.

fannkuch-redux
source secs mem gz cpu secs
C gcc #6 2.10 11,236 1576 8.34
C gcc #4 14.04 11,236 1183 14.03
C gcc #5 7.53 11,224 910 29.37
Classic Fortran 38.62 10,908 599 38.62
C gcc #3 39.56 11,248 567 39.56
Classic Fortran #3 10.26 11,160 1158 40.95
C gcc 42.02 11,244 508 42.02
C gcc #2 11.12 11,236 1557 43.67
n-body
source secs mem gz cpu secs
C gcc #9 2.08 11,392 1633 2.08
C gcc #8 4.01 11,392 1391 4.01
Classic Fortran #6 4.20 10,960 1524 4.20
C gcc #4 4.41 11,392 1490 4.41
Classic Fortran #2 5.37 10,960 1500 5.36
C gcc #5 5.42 11,392 1429 5.42
Classic Fortran 5.48 10,960 1393 5.48
Classic Fortran #5 6.04 10,960 1664 6.03
Classic Fortran #4 6.15 10,960 1179 6.15
Classic Fortran #3 6.32 10,960 1305 6.32
C gcc #6 6.61 11,392 1180 6.60
C gcc #2 6.70 11,392 1263 6.70
C gcc 6.75 11,392 1173 6.75
C gcc #7 6.80 11,392 1244 6.80
C gcc #3 7.25 11,392 1208 7.25
spectral-norm
source secs mem gz cpu secs
C gcc #6 0.40 11,392 1197 1.57
Classic Fortran #2 2.66 10,984 513 2.66
C gcc #4 0.71 11,392 1139 2.84
C gcc #7 0.71 11,392 900 2.84
Classic Fortran #3 0.71 10,984 638 2.84
C gcc #5 0.73 11,392 569 2.87
C gcc 5.39 11,392 383 5.38
C gcc #3 1.44 11,392 463 5.70
C gcc #8   Make Error  
mandelbrot
source secs mem gz cpu secs
C gcc #6 1.30 32,992 1135 5.17
Classic Fortran #8 1.41 75,272 957 5.58
C gcc #8 1.63 33,256 782 6.29
Classic Fortran #6 3.21 75,684 661 10.82
C gcc #4 3.47 32,576 799 13.86
C gcc #7 3.49 33,000 994 13.87
C gcc 3.47 32,532 822 13.88
C gcc #3 3.52 32,860 763 14.07
C gcc #9 4.25 33,036 694 16.41
C gcc #2 25.21 11,180 406 25.21
Classic Fortran #4 10.21 75,376 618 26.51
Classic Fortran #5 45.35 43,632 520 45.35
pidigits
source secs mem gz cpu secs
C gcc #2 0.81 11,392 416 0.81
Classic Fortran #4 0.88 10,956 981 0.88
C gcc 0.88 11,392 452 0.88
regex-redux
source secs mem gz cpu secs
C gcc #5 0.80 152,148 1397 2.02
Classic Fortran 0.92 175,800 2225 3.01
C gcc #2 3.22 103,248 1115 3.22
C gcc #4 0.94 152,004 1230 3.26
C gcc #3 1.72 103,812 1266 3.30
fasta
source secs mem gz cpu secs
C gcc #9 0.78 11,284 1463 0.78
C gcc #5 1.30 11,392 1281 1.30
Classic Fortran #4 2.07 10,936 1351 2.07
C gcc #6 0.94 11,392 1930 2.76
C gcc #8 2.91 11,392 1293 2.91
C gcc #4 3.07 11,392 1240 3.07
C gcc #2 0.81 11,392 2268 3.23
C gcc #7 0.84 11,392 2011 3.26
C gcc 3.72 11,392 1206 3.72
C gcc #3 4.49 11,288 819 4.49
Classic Fortran #3 6.73 10,940 1215 6.72
Classic Fortran 7.06 10,940 1190 7.06
k-nucleotide
source secs mem gz cpu secs
C gcc 3.77 129,952 1506 12.67
Classic Fortran   Make Error  
reverse-complement
source secs mem gz cpu secs
C gcc #7 0.43 499,200 1895 0.62
C gcc #8 0.48 499,404 1543 0.80
C gcc #6 0.89 715,812 820 1.28
C gcc #5 1.46 993,848 647 1.46
C gcc #2 1.01 993,892 750 1.52
C gcc #4 3.68 500,380 709 3.68
Classic Fortran 4.06 986,344 1019 4.06
Classic Fortran #2 41.15 769,664 772 41.14
binary-trees
source secs mem gz cpu secs
C gcc #2 1.57 168,448 809 4.11
C gcc #3 1.73 134,444 836 4.46
Classic Fortran #2 2.16 136,456 1148 6.76
C gcc 21.78 264,232 654 21.78
C gcc #5 8.49 351,268 908 31.09
Classic Fortran 31.75 525,968 773 31.75
Classic Fortran

Fortran Intel(R) 64 Classic
2021.8.0 20221119

C gcc

12.2.0-3ubuntu1