The Computer Language
22.05 Benchmarks Game

Fastest cpu secs Rust versus C clang

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 1,152 1576 8.28
C clang #4 1,048 1183 13.24
Rust #6 1,372 1253 14.15
Rust #4 1,372 1020 30.06
Rust #3 1,336 1020 30.07
Rust #5 1,368 1016 30.11
C clang #5 1,052 910 31.60
C clang #3 1,048 567 32.39
C clang #2 1,164 1557 34.16
C clang 1,052 508 37.89
Rust #2 1,232 1191 72.42
n-body
source mem gz cpu
C clang #9 1,032 1633 2.21
Rust #9 1,052 1874 2.89
Rust #7 1,052 1753 3.24
C clang #8 8 1391 3.49
Rust #6 1,028 1790 4.05
Rust #3 1,108 1540 5.49
C clang #4 1,272 1490 5.59
C clang #5 992 1429 5.62
Rust #2 1,032 1805 5.67
Rust 1,044 1480 5.68
C clang #6 1,280 1180 5.74
Rust #8 1,104 1767 5.78
C clang 1,252 1173 5.96
C clang #2 1,292 1263 6.03
Rust #5 1,104 2220 6.10
Rust #4 1,088 1803 6.25
C clang #3 1,312 1208 6.34
C clang #7 1,292 1244 6.93
spectral-norm
source mem gz cpu
C clang #6 3,044 1197 1.56
Rust #5 2,560 1055 2.84
Rust #6 2,432 1126 2.84
Rust #7 2,436 932 2.84
Rust #4 2,640 817 2.84
C clang #5 3,332 569 2.86
Rust #2 1,312 1110 2.87
Rust 1,276 1254 2.87
C clang #4 3,184 1139 2.87
Rust #3 1,248 1053 2.98
C clang 1,456 383 5.31
C clang #3 3,368 463 5.72
mandelbrot
source mem gz cpu
Rust #6 33,872 1332 4.18
C clang #9 30,664 694 5.15
Rust #8 32,624 763 5.48
Rust #7 32,732 757 5.50
Rust #3 12,824 1007 5.52
C clang #8 32,212 782 6.54
Rust 38,672 868 6.87
Rust #5 33,948 719 10.40
C clang #4 33,936 799 13.85
C clang 30,180 822 13.89
C clang #7 34,224 994 13.91
C clang #3 30,100 763 14.18
C clang #2 996 400 25.27
C clang #6   Make Error  
pidigits
source mem gz cpu
Rust #4 2,624 799 0.71
C clang #2 2,888 416 0.73
Rust #2 2,924 1306 0.74
Rust 2,928 1420 0.74
C clang 2,644 452 0.74
Rust #3 2,960 1366 0.83
regex-redux
source mem gz cpu
Rust #6 153,148 986 1.79
Rust #5 202,556 771 1.83
Rust 152,864 804 1.83
Rust #4 202,612 765 1.87
Rust #3 203,408 719 1.89
Rust #2 152,172 701 1.89
Rust #7 147,360 2458 1.99
C clang #5 154,192 1397 2.80
C clang #2 103,212 1115 3.20
C clang #4 154,168 1230 3.67
C clang #3 105,592 1266 4.35
fasta
source mem gz cpu
C clang #9 1,256 1463 0.78
C clang #5 1,028 1281 1.21
Rust #7 2,052 2529 1.52
Rust #3 1,104 1233 2.03
C clang #8 1,248 1293 2.48
C clang #6 3,764 1930 2.95
C clang #4 1,032 1240 2.98
Rust #5 2,580 1961 3.10
Rust #2 2,580 1906 3.18
C clang #2 3,952 2268 3.26
C clang #7 3,988 2011 3.28
Rust #8 2,596 1946 3.55
Rust #4 123,860 939 3.57
Rust #6 123,848 955 3.58
C clang 992 1206 3.67
Rust 1,100 1237 4.45
C clang #3 988 819 4.50
k-nucleotide
source mem gz cpu
Rust #7 131,236 1578 9.12
Rust #8 137,632 1543 10.39
Rust #6 159,088 1691 10.68
Rust #5 133,912 1739 12.23
C clang 129,064 1506 12.44
Rust #2 137,896 1347 16.27
Rust #9 134,732 1841 18.77
Rust #4 136,216 1749 19.31
Rust 152,220 1078 70.04
reverse-complement
source mem gz cpu
C clang #7 499,220 1965 0.57
C clang #8 499,188 1627 0.65
Rust 499,068 3040 0.76
Rust #2 995,032 1330 1.36
Rust #3 995,032 1097 1.52
C clang #2 994,164 750 1.56
C clang #5 994,092 647 1.96
C clang #4 500,352 709 3.74
C clang #6 723,976 820 3.75
binary-trees
source mem gz cpu
Rust #5 198,536 765 3.60
Rust #2 200,024 721 4.17
Rust #4 181,444 756 4.40
Rust #3 163,904 754 4.87
C clang #3 133,844 836 5.56
C clang #2 169,564 809 5.81
Rust 132,604 751 7.70
C clang 263,672 654 18.36
C clang #5 351,284 908 32.79
Rust

rustc 1.60.0
(7737e0b5c
2022-04-04)
LLVM version: 14.0.0

C clang

14.0.0-1ubuntu1