The Computer Language
22.03 Benchmarks Game

C gcc costs versus C clang costs

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 cpu seconds, less gz source code.

fannkuch-redux
source mem gz cpu
C clang #6 992 1576 8.15
C gcc #6 1,184 1576 8.27
C clang #4 996 1183 13.22
C gcc #4 988 1183 13.89
C gcc #5 1,044 910 29.60
C clang #5 1,040 910 30.76
C clang #3 960 567 32.16
C clang #2 1,136 1557 34.75
C clang 1,044 508 39.58
C gcc #3 996 567 42.24
C gcc 996 508 43.08
C gcc #2 1,188 1557 44.71
n-body
source mem gz cpu
C gcc #9 1,040 1633 2.12
C clang #9 992 1633 2.20
C clang #8 8 1391 3.75
C gcc #8 8 1391 4.10
C gcc #4 1,240 1490 4.44
C clang #4 1,236 1490 5.52
C clang #5 996 1429 5.62
C clang #6 1,300 1180 5.69
C clang 1,236 1173 5.92
C clang #2 1,236 1263 5.98
C gcc #5 992 1429 6.09
C clang #3 1,284 1208 6.31
C gcc #7 1,236 1244 6.79
C clang #7 1,240 1244 6.86
C gcc #2 1,284 1263 7.18
C gcc #6 1,288 1180 7.21
C gcc #3 1,240 1208 7.22
C gcc 1,300 1173 7.54
spectral-norm
source mem gz cpu
C gcc #6 1,048 1197 1.59
C clang #6 2,932 1197 1.60
C gcc #4 1,300 1139 2.86
C gcc #5 1,296 569 2.87
C clang #5 3,224 569 2.91
C clang #4 3,200 1139 2.94
C clang 1,488 383 5.31
C gcc 1,240 383 5.38
C gcc #3 1,300 463 5.71
C clang #3 3,312 463 5.82
mandelbrot
source mem gz cpu
C gcc #6 31,192 1135 5.11
C clang #9 30,944 694 5.13
C gcc #8 33,112 782 6.30
C clang #8 31,008 782 6.48
C gcc #4 32,456 799 13.82
C clang #4 33,068 799 13.87
C clang 30,172 822 13.88
C gcc #7 33,084 994 13.90
C gcc 28,696 822 13.91
C clang #7 34,132 994 13.94
C gcc #3 30,728 763 14.03
C clang #3 30,356 763 14.24
C gcc #9 32,804 694 16.03
C gcc #2 1,044 400 25.28
C clang #2 1,040 400 25.41
C clang #6   Make Error
pidigits
source mem gz cpu
C gcc #2 2,940 416 0.73
C clang #2 2,880 416 0.73
C gcc 2,664 452 0.74
C clang 2,640 452 0.74
regex-redux
source mem gz cpu
C gcc #5 152,220 1397 2.03
C clang #5 154,296 1397 2.82
C clang #2 103,028 1115 3.12
C gcc #4 152,188 1230 3.26
C gcc #3 103,588 1266 3.29
C gcc #2 103,084 1115 3.62
C clang #4 154,132 1230 3.76
C clang #3 105,560 1266 4.31
fasta
source mem gz cpu
C gcc #9 1,240 1463 0.78
C clang #9 1,524 1463 0.78
C clang #5 992 1281 1.22
C gcc #5 1,056 1281 1.29
C clang #8 1,204 1293 2.49
C gcc #8 996 1293 2.74
C gcc #6 2,092 1930 2.76
C clang #6 3,760 1930 2.95
C clang #4 1,040 1240 3.05
C gcc #4 1,044 1240 3.07
C gcc #2 2,836 2268 3.25
C clang #2 3,920 2268 3.26
C gcc #7 2,876 2011 3.27
C clang #7 3,956 2011 3.28
C gcc 1,040 1206 3.67
C clang 1,040 1206 3.71
C clang #3 996 819 4.48
C gcc #3 996 819 4.54
k-nucleotide
source mem gz cpu
C gcc 130,044 1506 12.17
C clang 128,980 1506 12.53
reverse-complement
source mem gz cpu
C clang #7 499,132 1965 0.56
C gcc #7 499,064 1965 0.57
C gcc #6 687,892 820 1.26
C gcc #5 994,076 647 1.41
C gcc #2 994,148 750 1.45
C clang #2 994,144 750 1.55
C clang #5 993,996 647 1.96
C gcc #4 500,424 709 3.47
C clang #6 799,276 820 3.70
C clang #4 500,332 709 3.72
binary-trees
source mem gz cpu
C gcc #2 168,312 809 4.56
C gcc #3 123,588 836 4.61
C clang #2 169,652 809 5.45
C clang #3 133,852 836 5.59
C clang 263,584 654 16.36
C gcc 263,672 654 22.13
C clang #5 351,372 908 27.30
C gcc #5 351,340 908 31.41
C gcc

11.2.0-7ubuntu2

C clang

Ubuntu clang 13.0.0-2