The Computer Language
23.03 Benchmarks Game

Rust versus C clang 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 clang #6 2.05 11,236 1576 8.13
C clang #4 13.11 11,248 1183 13.11
Rust #6 3.51 11,036 1253 13.93
Rust #4 7.21 10,932 1020 28.34
Rust #5 7.77 10,932 1016 30.49
C clang #5 8.24 11,160 910 32.64
C clang #2 8.82 11,208 1557 34.58
C clang #3 36.31 11,236 567 36.31
C clang 38.34 11,208 508 38.32
Rust #2 17.99 11,036 1191 70.95
n-body
source secs mem gz cpu secs
C clang #9 2.21 11,392 1633 2.21
Rust #9 2.81 11,068 1874 2.81
Rust #7 3.27 11,068 1753 3.27
Rust #6 3.92 11,068 1790 3.92
C clang #4 4.76 11,392 1490 4.76
C clang #5 5.62 11,392 1429 5.62
Rust #3 5.63 11,068 1540 5.63
C clang #8 5.63 11,392 1391 5.63
Rust 5.63 11,068 1480 5.63
C clang #6 5.75 11,392 1180 5.75
C clang #2 5.87 11,392 1263 5.87
Rust #2 5.98 11,068 1805 5.98
C clang 5.98 11,392 1173 5.98
Rust #8 6.01 11,068 1767 6.01
Rust #5 6.12 11,068 2220 6.11
Rust #4 6.20 11,068 1803 6.20
C clang #3 6.33 11,392 1208 6.33
C clang #7 6.92 11,392 1244 6.92
spectral-norm
source secs mem gz cpu secs
C clang #6 0.39 11,392 1197 1.55
C clang #5 0.71 11,392 569 2.84
Rust #6 0.71 11,124 1126 2.84
Rust #7 0.72 11,128 932 2.84
Rust #5 0.72 11,124 1055 2.84
Rust #4 0.72 11,124 817 2.84
Rust #2 0.72 11,124 1110 2.85
Rust 0.72 11,124 1254 2.85
C clang #4 0.73 11,392 1139 2.88
C clang #8 0.76 11,392 935 3.01
Rust #3 0.78 11,124 1053 3.07
C clang 5.31 11,392 383 5.31
C clang #3 1.42 11,392 463 5.67
C clang #7 1.83 11,392 900 7.08
mandelbrot
source secs mem gz cpu secs
Rust #4 1.01 32,380 1295 3.99
Rust #6 1.06 34,120 1332 4.18
Rust #5 1.12 33,868 719 4.41
Rust #3 1.15 13,452 1007 4.58
C clang #9 1.28 33,932 694 5.11
Rust #7 1.42 32,124 757 5.64
Rust #8 1.42 32,176 763 5.64
C clang #8 1.53 34,548 782 6.09
Rust 2.05 38,724 868 8.09
C clang #4 3.47 33,792 799 13.84
C clang 3.48 32,888 822 13.90
C clang #7 3.54 34,040 994 14.08
C clang #3 3.55 33,044 763 14.16
C clang #2 25.44 11,232 406 25.44
C clang #6   Make Error  
pidigits
source secs mem gz cpu secs
Rust #4 0.71 11,068 799 0.71
C clang #2 0.81 11,392 416 0.81
C clang 0.88 11,392 452 0.88
Rust #2 0.88 11,068 1306 0.88
Rust #3 0.88 11,068 1366 0.88
Rust 0.89 11,068 1420 0.88
regex-redux
source secs mem gz cpu secs
Rust #6 1.34 152,724 986 1.80
Rust #5 1.40 204,604 771 1.82
Rust #4 1.43 204,656 765 1.85
Rust 1.46 153,312 804 1.87
Rust #3 1.42 205,228 719 1.88
Rust #2 1.50 153,320 701 1.90
Rust #7 0.78 149,524 2458 1.99
C clang #5 0.81 154,176 1397 2.78
C clang #2 3.21 103,260 1115 3.21
C clang #4 0.94 154,012 1230 3.68
C clang #3 1.75 105,720 1266 4.32
fasta
source secs mem gz cpu secs
C clang #9 0.78 11,392 1463 0.78
C clang #5 1.22 11,392 1281 1.22
Rust #7 0.76 11,068 2529 1.52
Rust #3 2.00 11,036 1233 2.00
C clang #8 2.45 11,392 1293 2.45
C clang #4 2.95 11,392 1240 2.95
C clang #6 1.01 11,288 1930 2.95
Rust #5 0.90 11,060 1961 3.08
Rust #2 0.90 11,068 1906 3.16
C clang #2 0.82 11,288 2268 3.26
C clang #7 0.84 11,392 2011 3.26
Rust #4 3.46 123,660 939 3.46
Rust #6 3.50 123,660 955 3.50
Rust #8 0.92 11,068 1946 3.50
C clang 3.72 11,392 1206 3.72
Rust 4.52 11,036 1237 4.52
C clang #3 4.56 11,260 819 4.56
k-nucleotide
source secs mem gz cpu secs
Rust #7 2.88 133,236 1578 9.14
Rust #8 3.56 137,632 1543 10.34
Rust #6 2.88 158,788 1691 10.48
Rust #5 4.08 137,648 1739 11.99
C clang 5.97 128,860 1506 12.47
Rust #2 6.30 137,548 1347 16.69
Rust #9 6.54 136,008 1841 17.81
Rust #4 6.95 136,744 1749 18.88
Rust 21.93 155,840 1078 65.94
reverse-complement
source secs mem gz cpu secs
C clang #7 0.42 499,204 1895 0.59
C clang #8 0.46 499,624 1543 0.70
Rust 0.47 498,844 3040 0.77
Rust #2 0.80 995,004 1330 1.45
Rust #3 0.81 995,004 1097 1.50
C clang #2 1.10 993,892 750 1.62
C clang #5 2.01 993,848 647 2.01
C clang #4 3.73 500,380 709 3.73
C clang #6 0.95 726,524 820 3.79
binary-trees
source secs mem gz cpu secs
Rust #5 1.08 198,984 765 3.82
Rust #2 1.19 200,532 721 4.27
Rust #4 1.28 198,772 756 4.62
Rust #3 1.36 198,464 754 4.93
C clang #2 1.67 169,692 809 5.44
C clang #3 1.77 134,200 836 5.59
Rust 2.10 132,828 751 7.39
C clang 17.82 264,056 654 17.82
C clang #5 8.97 351,200 908 32.22
Rust

1.67.0
(fc594f156
2023-01-24)
LLVM version: 15.0.6

C clang

Ubuntu clang version 15.0.2-1