The Computer Language
24.04 Benchmarks Game

Chapel versus Go 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
Go #3 8.33 19,664 975 33.25
Chapel #2 8.39 19,772 737 33.40
Go 11.74 19,664 906 46.77
Go #2 11.79 19,664 903 46.97
n-body
source secs mem gz cpu secs
Chapel #3 3.89 19,648 967 3.90
Chapel #2 5.65 19,648 977 5.65
Go #3 6.37 19,808 1207 6.38
Go 7.00 19,680 1316 7.02
Go #2 7.02 19,680 1222 7.03
spectral-norm
source secs mem gz cpu secs
Chapel #2 0.74 19,648 348 2.89
Go 5.32 19,824 417 5.33
Go #2 1.53 19,824 674 5.67
Go #4 1.44 19,824 555 5.67
Chapel 1.47 19,776 322 5.79
mandelbrot
source secs mem gz cpu secs
Chapel #3 1.17 37,760 582 4.64
Go #4 3.76 35,328 912 14.92
Go #3 3.76 35,456 900 14.94
Go 5.01 33,408 829 19.98
Chapel 6.66 37,632 447 26.42
Go #2 6.85 33,152 843 27.29
Go #6 6.89 32,768 707 27.40
pidigits
source secs mem gz cpu secs
Chapel #4 0.75 19,648 515 0.76
Chapel #2 0.75 19,776 423 0.76
Go #4 0.95 19,808 689 0.97
Go 1.35 19,696 715 1.37
Go #3 1.58 19,824 610 1.62
Go #2 2.13 19,824 740 2.19
Go #8 2.49 19,696 727 2.50
Go #7 5.12 19,824 702 5.88
regex-redux
source secs mem gz cpu secs
Chapel #3 3.74 552,796 503 4.68
Go #5 3.17 320,972 817 5.38
Chapel #2 4.53 552,788 498 5.47
Go #4 14.51 368,680 832 34.26
Go 25.58 345,472 749 61.95
Go #3 25.72 402,968 836 62.19
fasta
source secs mem gz cpu secs
Chapel #6 0.79 19,648 1108 0.80
Chapel #5 0.95 19,772 1391 3.47
Go 3.73 19,804 1055 3.74
Chapel #3 4.01 19,772 1219 4.02
Go #2 1.26 19,672 1405 4.03
Go #3 1.50 19,664 1362 4.08
k-nucleotide
source secs mem gz cpu secs
Chapel #4 4.96 192,256 1071 17.07
Chapel #3 5.86 192,256 1040 20.64
Go #7 7.52 162,944 1613 28.68
Go #6 8.17 145,152 1596 29.90
Go #3 8.38 145,152 1729 30.32
Go #4 9.07 139,904 1552 30.33
reverse-complement
source secs mem gz cpu secs
Go #2 2.21 802,176 614 2.30
Go #3 2.47 802,048 609 2.56
Chapel #8 0.95 1,057,024 1260 2.74
Chapel #3 1.68 1,618,560 709 3.23
Go #6 1.84 1,249,840 1340 3.30
Chapel #5 1.79 1,884,928 554 3.30
Go #5   Bad Output  
Go   Failed  
binary-trees
source secs mem gz cpu secs
Go #6 27.61 404,608 618 29.03
Chapel #3 8.69 367,360 494 29.22
Go #2 13.87 601,252 672 55.04
Go #5 14.37 308,092 957 56.80
Go #3 14.86 323,544 806 57.39
Go 30.97 262,396 488 57.95
Go #7 33.10 292,588 531 61.68
Chapel

chpl version 2.0.0
built with LLVM version 17.0.2
Copyright 2020-2024
Hewlett Packard Enterprise Development LP
Copyright 2004-2019 Cray Inc.

Go

go version go1.22.0 linux/amd64
GOAMD64=v2