The Computer Language
25.03 Benchmarks Game

Chapel versus Julia

How the programs are written matters! Always look at the source code.

If the fastest programs are flagged * possible hand-written vector instructions or "unsafe" or naked ffi, does the host language matter? You might be more interested in the less optimised programs — more seconds, less gz source code.

fannkuch-redux      
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
* Julia #2 8.60 31.98—32.02 333,173 1077 0.11
Chapel #2 8.46 33.59—33.63 9,650 737 20.85
* Julia #3 9.44 35.58—35.64 333,042 896 0.14
Julia 42.57 42.62 309,928 441 0.13
n-body      
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
Chapel #3 3.61 3.58 9,953 983 19.99
Julia #5 3.80 3.83—4.13 345,874 1129 0.14
Chapel #4 4.69 4.66 9,826 1027 20.37
Chapel #2 5.74 5.72 9,679 977 20.52
Julia #4 7.19 7.26 414,929 1168 0.15
Julia #3 8.07 8.11—8.17 415,089 1548 0.13
Julia #2 28.68 28.88—29.15 414,970 1084 0.11
spectral-norm      
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
Chapel #2 0.78 2.91 10,052 348 20.39
Julia #4 1.31 3.73 315,896 435 0.09
Chapel 1.50 5.77—5.81 10,076 322 20.39
Julia #2 2.84 5.81—5.85 414,818 377 0.14
mandelbrot      
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
Chapel #3 1.18 4.52 42,156 582 21.30
Julia #7 1.54 4.86 357,138 629 0.12
Julia #2 1.57 4.96 355,762 634 0.10
Julia #3 1.61 5.18 376,463 589 0.11
Julia #4 2.07 5.19 368,173 583 0.14
Julia #5 1.76 5.85 381,813 580 0.12
Julia #6 2.25 5.89 368,599 571 0.13
Chapel 6.69 26.49 41,697 447 20.90
Julia 26.66 26.71 339,132 379 0.11
fasta      
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
Chapel #6 0.83 0.81 10,146 1108 21.02
Julia #2 1.28 1.32 318,083 1094 0.11
Julia #5 2.68 2.72 334,770 957 0.10
Julia #4 2.73 2.77 320,528 1053 0.13
Chapel #5 1.00 3.52—3.57 11,317 1391 22.71
Chapel #3 4.08 4.05 9,834 1219 22.42
* Julia #7 1.98 4.93—5.22 403,165 1189 0.12
* Julia #6 2.26 4.77—4.97 415,330 1213 0.13
Julia #3 11.71 11.76—11.82 318,497 901 0.13
k-nucleotide      
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
Julia #6 6.98 14.54—14.97 524,595 965 0.12
Chapel #4 4.99 17.17—18.03 194,023 1074 28.96
Chapel #3 5.99 22.14—23.26 187,892 1044 28.36
Julia #7 9.93 23.91—24.31 575,861 1379 0.07
Julia 132.79 134.30—135.03 1,696,670 703 0.10
reverse-complement      
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
Julia #7 1.79 1.87 1,128,022 531 0.13
Julia #9 2.12 2.20 1,330,082 456 0.11
Chapel #9 1.03 2.84—2.88 1,087,701 1260 20.81
Chapel #5 1.86 3.28—3.43 1,442,660 554 20.80
Chapel #3 1.85 3.35—3.53 1,669,710 709 20.38
Julia #2 29.48 29.90—30.70 2,259,153 464 0.12
binary-trees      [ Contentious. Different approaches. ]
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
Chapel #5 2.09 7.32 1,825,436 646 19.70
Julia #2 12.65 13.47—14.55 552,669 430 0.13
Julia #4 14.42 15.81—15.94 550,064 378 0.08
Julia #3 7.40 19.30—20.35 564,216 640 0.14
Chapel #3 8.63 25.95—26.01 313,868 494 10.25
Chapel #4 7.29 26.57—26.70 495,682 489 19.96
Julia #5 21.83 61.11—62.09 1,336,107 396 0.13
pidigits      [ Contentious. Different libraries. ]
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
* Chapel #4 0.80 0.77 11,600 515 19.57
Chapel #2 0.79 0.78 11,690 423 19.59
* Julia #3 1.14 1.24 307,749 512 0.10
* Julia #2 1.25 1.31 315,859 686 0.15
Julia #4 3.80 3.88—3.92 414,781 531 0.14
regex-redux      [ Contentious. Different libraries. ]
  elapsed Mean or 95% CI      
source secs cpu secs mem gz make
* Julia #5 1.91 3.19 519,877 766 0.16
* Julia #4 2.00 3.29 522,019 772 0.15
* Julia #3 2.19 3.54—3.76 671,166 630 0.12
Chapel #3 3.17 4.09—4.16 391,320 503 21.36
Chapel #2 3.60 4.52 391,303 498 21.07
Julia 5.19 5.26—5.31 714,248 414 0.11
Chapel

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

Julia

julia version 1.11.1