The Computer Language
25.02 Benchmarks Game

Chapel versus Classic Fortran

How the programs are written matters! 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
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Chapel #2 8.48 9,699 737 21.01 33.63—33.69
Classic Fortran 39.02 3,191 608 2.95 38.97—39.21
Classic Fortran #3 10.15 12,329 1164 3.36 40.49
n-body
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Chapel #3 3.61 9,720 983 20.46 3.58
Classic Fortran #6 4.22 2,146 1530 2.93 4.23
Chapel #4 4.68 9,568 1027 20.35 4.66
Classic Fortran #2 5.39 2,146 1507 2.88 5.39
Classic Fortran 5.45 2,142 1400 3.14 5.45
Chapel #2 5.74 9,929 977 20.76 5.72
Classic Fortran #5 5.97 2,150 1669 3.04 5.99—6.10
Classic Fortran #4 6.18 2,146 1183 2.96 6.23
Classic Fortran #3 6.33 2,146 1311 3.03 6.36—6.40
spectral-norm
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Classic Fortran #2 2.68 4,239 520 3.16 2.67
Classic Fortran #3 0.72 5,259 644 3.06 2.86—2.91
Chapel #2 0.79 9,916 348 20.86 2.91
Chapel 1.50 10,109 322 20.65 5.78
mandelbrot
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Chapel #3 1.18 42,295 582 21.29 4.52
Classic Fortran #7 1.44 79,483 965 2.98 5.64
Classic Fortran #6 3.27 79,585 669 2.68 10.80
Chapel 6.68 41,964 447 20.87 26.49
Classic Fortran #4 10.40 79,577 626 2.70 26.84—26.88
Classic Fortran #5 45.35 45,691 528 2.56 45.36—45.41
fasta
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Chapel #6 0.84 10,310 1108 21.24 0.81
Classic Fortran #4 2.06 2,142 1355 3.21 2.06
Chapel #5 1.01 11,284 1391 22.88 3.54—3.60
Chapel #3 4.07 9,597 1219 22.91 4.05
Classic Fortran #3 6.98 2,146 1217 2.98 7.05—7.16
Classic Fortran 7.19 2,142 1193 2.78 7.23—7.31
k-nucleotide
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Chapel #4 5.02 197,980 1074 28.32 16.99—17.77
Chapel #3 5.99 190,841 1044 28.35 20.72—21.61
Classic Fortran   Empty  
reverse-complement
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Chapel #9 1.00 1,087,742 1260 21.34 2.82—2.88
Chapel #5 1.83 1,442,632 554 20.72 3.23—3.45
Chapel #3 1.84 1,669,767 709 20.76 3.27—3.41
Classic Fortran 4.24 1,012,376 1026 2.89 4.25
Classic Fortran #2 45.32 790,282 778 3.25 45.50—45.79
binary-trees
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Classic Fortran #2 2.22 141,066 1155 2.78 6.99—7.03
Chapel #5 2.06 1,825,448 646 19.88 7.24
Chapel #3 8.61 314,032 494 20.69 26.00—26.04
Chapel #4 7.29 495,673 489 20.08 26.60—26.71
Classic Fortran 32.31 540,062 780 2.66 32.35—32.48
pidigits
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
* Classic Fortran #4 0.74 5,399 987 2.35 0.74
* Chapel #4 0.80 11,416 515 19.88 0.78
Chapel #2 0.80 11,543 423 20.04 0.78
regex-redux
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
* Classic Fortran 0.98 179,618 2229 3.02 3.11—3.15
Chapel #3 3.17 392,372 503 22.24 4.07—4.13
Chapel #2 3.58 391,442 498 21.16 4.51
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.

Classic Fortran

Fortran Compiler Classic
2021.12.0 20240222