The Computer Language
22.05 Benchmarks Game

Fastest cpu secs Rust versus Go

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
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
Go #3 2,260 969 32.88
Go 2,956 900 47.36
Go #2 11,316 896 47.56
Rust #2 1,232 1191 72.42
n-body
source mem gz cpu
Rust #9 1,052 1874 2.89
Rust #7 1,052 1753 3.24
Rust #6 1,028 1790 4.05
Rust #3 1,108 1540 5.49
Rust #2 1,032 1805 5.67
Rust 1,044 1480 5.68
Rust #8 1,104 1767 5.78
Rust #5 1,104 2220 6.10
Rust #4 1,088 1803 6.25
Go #3 1,136 1200 6.38
Go 1,136 1310 6.58
Go #2 1,132 1215 6.94
spectral-norm
source mem gz cpu
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
Rust #2 1,312 1110 2.87
Rust 1,276 1254 2.87
Rust #3 1,248 1053 2.98
Go 2,452 411 5.33
Go #4 1,952 548 5.67
Go #2 1,420 668 5.68
mandelbrot
source mem gz cpu
Rust #6 33,872 1332 4.18
Rust #8 32,624 763 5.48
Rust #7 32,732 757 5.50
Rust #3 12,824 1007 5.52
Rust 38,672 868 6.87
Rust #5 33,948 719 10.40
Go #4 33,812 905 14.85
Go #3 34,028 894 14.91
Go 32,600 823 19.58
Go #2 33,196 837 27.07
Go #6 32,764 700 27.25
pidigits
source mem gz cpu
Rust #4 2,624 799 0.71
Rust #2 2,924 1306 0.74
Rust 2,928 1420 0.74
Rust #3 2,960 1366 0.83
Go #4 8,732 683 0.87
Go #3 9,320 603 1.18
Go 9,496 708 1.21
Go #2 9,032 733 1.59
Go #8 9,924 720 2.54
Go #7 8,620 696 5.05
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
Go #5 306,476 810 5.97
Go #4 355,844 829 34.99
Go #3 358,472 829 67.28
Go 297,048 741 68.45
fasta
source mem gz cpu
Rust #7 2,052 2529 1.52
Rust #3 1,104 1233 2.03
Rust #5 2,580 1961 3.10
Rust #2 2,580 1906 3.18
Rust #8 2,596 1946 3.55
Rust #4 123,860 939 3.57
Rust #6 123,848 955 3.58
Go 1,112 1053 3.64
Go #2 10,980 1404 3.84
Go #3 3,168 1358 3.98
Rust 1,100 1237 4.45
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
Rust #2 137,896 1347 16.27
Rust #9 134,732 1841 18.77
Rust #4 136,216 1749 19.31
Go #7 159,432 1607 28.49
Go #6 149,712 1590 29.40
Go #4 144,528 1543 30.22
Go #3 149,984 1722 30.25
Rust 152,220 1078 70.04
reverse-complement
source mem gz cpu
Rust 499,068 3040 0.76
Rust #2 995,032 1330 1.36
Rust #3 995,032 1097 1.52
Go #2 826,796 611 1.94
Go #3 826,544 605 2.13
Go #5 1,483,756 996 2.26
Go #6 1,289,572 1338 2.48
Go   Failed  
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
Rust 132,604 751 7.70
Go #6 411,424 611 29.23
Go #2 632,396 666 48.67
Go #3 328,700 799 50.09
Go #5 394,800 950 50.52
Go 240,292 482 51.02
Go #7 259,088 525 51.41
Rust

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

Go

go version go1.18 linux/amd64