The Computer Language
23.03 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
Chapel #2 8.09 10,932 731 32.18
Go #3 8.25 10,936 969 32.92
Go 11.83 11,128 900 47.26
Go #2 11.89 12,708 896 47.47
n-body
source secs mem gz cpu secs
Chapel #3 5.60 10,940 960 5.61
Chapel #2 6.10 10,940 971 6.11
Go #3 6.36 11,244 1200 6.37
Go 6.55 11,244 1310 6.56
Go #2 6.94 11,244 1215 6.95
spectral-norm
source secs mem gz cpu secs
Chapel #2 0.73 10,948 335 2.89
Go 5.31 11,244 411 5.32
Go #4 1.42 11,244 548 5.67
Go #2 1.44 11,244 668 5.67
Chapel 1.45 10,948 310 5.75
mandelbrot
source secs mem gz cpu secs
Chapel #3 1.90 37,372 591 7.55
Go #3 3.73 36,140 894 14.86
Go #4 3.73 36,116 905 14.87
Go 4.92 33,624 823 19.65
Chapel 6.61 37,436 460 26.38
Go #2 6.76 33,928 837 26.97
Go #6 6.83 33,632 700 27.22
pidigits
source secs mem gz cpu secs
Chapel #2 0.75 10,940 423 0.76
Chapel #4 0.75 10,940 509 0.76
Go #4 1.01 11,244 683 1.02
Go 1.37 11,244 708 1.38
Go #3 1.63 11,244 603 1.66
Go #2 1.97 11,244 733 2.00
Go #8 2.46 11,244 720 2.46
Go #7 4.80 23,844 696 5.31
regex-redux
source secs mem gz cpu secs
Chapel #3 3.63 551,844 492 4.57
Chapel #2 4.50 551,924 489 5.43
Go #5 4.14 302,280 810 6.25
Go #4 14.80 360,260 829 34.62
Go #3 27.89 368,528 829 67.15
Go 28.35 317,752 741 67.40
fasta
source secs mem gz cpu secs
Chapel #6 0.79 10,880 1104 0.80
Chapel #5 0.94 10,880 1391 3.47
Go 3.78 11,128 1053 3.78
Go #3 1.49 11,136 1358 4.10
Chapel #3 4.12 10,880 1229 4.13
Go #2 1.26 11,136 1404 4.26
k-nucleotide
source secs mem gz cpu secs
Chapel #4 5.66 192,092 1031 20.12
Chapel #3 6.50 198,044 1007 23.41
Go #7 7.48 166,412 1607 28.68
Go #6 7.96 148,080 1590 29.25
Go #3 8.28 148,412 1722 29.93
Go #4 9.50 142,624 1543 31.55
reverse-complement
source secs mem gz cpu secs
Go #2 1.76 814,544 611 1.80
Go #3 1.96 814,352 605 2.00
Go #6 1.33 1,278,596 1338 2.46
Chapel #8 0.91 1,056,436 1298 2.70
Chapel #3 1.57 1,884,484 764 2.93
Chapel #5 1.69 1,884,480 610 2.99
Go #5   Bad Output  
Go   Failed  
binary-trees
source secs mem gz cpu secs
Chapel #3 8.09 300,444 488 24.60
Go #6 27.82 410,808 611 28.59
Go #5 14.70 406,544 950 57.87
Go #2 14.69 642,688 666 58.49
Go #3 15.07 342,008 799 58.61
Go #7 33.37 247,824 525 60.85
Go 34.62 236,728 482 61.41
Chapel

chpl version 1.29.0
built with LLVM version 14.0.0
Copyright 2020-2022
Hewlett Packard Enterprise Development LP
Copyright 2004-2019 Cray Inc.

Go

go version go1.20 linux/amd64
GOAMD64=v2