The Computer Language
23.03 Benchmarks Game

Chapel versus C++ g++ 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++ g++ #6 3.23 10,936 1528 12.80
C++ g++ #7 14.04 10,912 1150 14.04
C++ g++ #5 7.99 10,936 980 31.23
Chapel #2 8.09 10,932 731 32.18
C++ g++ #3 36.06 10,908 593 36.05
C++ g++ #2 9.51 10,912 1440 37.33
C++ g++ #4 9.82 10,912 1439 38.52
C++ g++ 10.39 10,912 1059 40.77
n-body
source secs mem gz cpu secs
C++ g++ #0 2.14 10,960 1927 2.14
C++ g++ #2 4.44 10,960 1879 4.44
C++ g++ #7 4.44 10,960 1808 4.44
C++ g++ #9 4.88 10,960 1530 4.88
C++ g++ #4 5.44 10,960 1428 5.44
Chapel #3 5.60 10,940 960 5.61
C++ g++ #6 5.70 10,960 1668 5.70
C++ g++ #3 5.76 10,960 1396 5.76
C++ g++ 5.97 10,960 1659 5.97
Chapel #2 6.10 10,940 971 6.11
C++ g++ #8 6.53 10,960 1517 6.53
C++ g++ #5 6.89 11,016 1538 6.88
spectral-norm
source secs mem gz cpu secs
C++ g++ #6 0.71 10,984 1044 2.84
Chapel #2 0.73 10,948 335 2.89
C++ g++ #5 1.32 10,984 1044 5.25
C++ g++ 5.36 10,984 452 5.36
Chapel 1.45 10,948 310 5.75
C++ g++ #8 1.52 10,992 1278 6.09
mandelbrot
source secs mem gz cpu secs
C++ g++ 0.89 34,012 1791 3.46
C++ g++ #4 0.88 34,664 3542 3.48
C++ g++ #6 0.98 34,768 1002 3.88
Chapel #3 1.90 37,372 591 7.55
C++ g++ #0 2.34 34,204 2739 9.28
C++ g++ #8 4.78 34,288 742 13.11
C++ g++ #5 13.35 33,504 590 13.35
C++ g++ #9 3.50 34,292 726 13.49
C++ g++ #7 3.49 34,304 1017 13.89
C++ g++ #2 16.91 34,008 692 16.90
Chapel 6.61 37,436 460 26.38
C++ g++ #3 28.09 10,956 414 28.09
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
C++ g++ #5 0.87 10,956 798 0.87
C++ g++ #4 0.89 10,956 513 0.88
regex-redux
source secs mem gz cpu secs
C++ g++ #6 1.13 275,984 2850 2.18
C++ g++ 3.55 211,848 656 3.55
C++ g++ #2 2.83 212,460 700 3.59
C++ g++ #5 3.78 215,276 852 4.49
Chapel #3 3.63 551,844 492 4.57
Chapel #2 4.50 551,924 489 5.43
C++ g++ #3 13.26 217,376 853 19.13
C++ g++ #4   Make Error  
fasta
source secs mem gz cpu secs
Chapel #6 0.79 10,880 1104 0.80
C++ g++ #8 0.77 10,944 2751 1.52
C++ g++ #2 1.87 10,940 1127 1.86
C++ g++ 1.96 10,936 1057 1.96
C++ g++ #3 2.64 10,940 1307 2.64
C++ g++ #4 3.34 10,940 1287 3.34
Chapel #5 0.94 10,880 1391 3.47
C++ g++ #5 1.04 10,940 2344 3.66
C++ g++ #6 1.03 10,936 2324 3.83
Chapel #3 4.12 10,880 1229 4.13
C++ g++ #7   Make Error  
k-nucleotide
source secs mem gz cpu secs
C++ g++ #2 1.96 156,360 1631 5.87
C++ g++ #3 4.16 165,784 1276 13.84
C++ g++ 6.80 756,220 1446 14.43
Chapel #4 5.66 192,092 1031 20.12
Chapel #3 6.50 198,044 1007 23.41
reverse-complement
source secs mem gz cpu secs
C++ g++ #2 0.68 499,568 2093 0.68
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
C++ g++ #6 3.03 1,515,936 1832 4.05
C++ g++ 6.35 979,820 592 6.35
C++ g++ #5 35.73 771,156 720 35.72
C++ g++ #3   Bad Output  
binary-trees
source secs mem gz cpu secs
C++ g++ #7 0.94 201,600 890 3.31
C++ g++ #5 1.13 200,428 885 4.05
C++ g++ #9 1.45 135,832 809 4.10
C++ g++ #6 1.80 265,520 844 4.39
C++ g++ #3 1.80 265,092 945 4.69
C++ g++ #8 2.14 265,536 820 5.12
C++ g++ 2.65 1,946,308 754 9.06
C++ g++ #2 23.13 265,616 508 23.13
Chapel #3 8.09 300,444 488 24.60
C++ g++ #4   Make Error  
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.

C++ g++

Ubuntu 12.2.0-3ubuntu1