Results for 38 of 40 languages from this run on actest1.

Unavailable in this run: Hack, Lisp. Follow the run link for failure details.

Chapel VS Java benchmarks

Current benchmark data was generated on Sun Sep 27 2026, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] Intel(R) Core(TM) i7-3687U CPU @ 2.10GHz (Model 58)

* -m in a file name stands for multi-threading or multi-processing

* -i in a file name stands for direct intrinsics usage. (Usage of simd intrinsics via libraries is not counted)

* -ffi in a file name stands for non-stdlib FFI usage

* (You may find time < time(user) + time(sys) for some non-parallelized programs, the overhead is from GC or JIT compiler, which are allowed to take advantage of multi-cores as that's more close to real-world scenarios.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 782ms 124ms 569.1MB 957ms 133ms openjdk 21.0.12
java 2.java 1276ms 44ms 1086.4MB 900ms 603ms openjdk/zgc 21.0.12
chapel 4.chpl 2730ms 14ms 64.8MB 2707ms 7ms chpl 2.9.0
chapel 3.chpl 3169ms 6.1ms 66.7MB 3147ms 13ms chpl 2.9.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 192ms 18ms 167.6MB 260ms 27ms openjdk 21.0.12
chapel 4.chpl 254ms 3.1ms 36.7MB 237ms 7ms chpl 2.9.0
chapel 3.chpl 292ms 6.5ms 34.8MB 267ms 10ms chpl 2.9.0
java 2.java 378ms 84ms 239.8MB 267ms 200ms openjdk/zgc 21.0.12

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 2953ms 188ms 213.9MB 11130ms 147ms openjdk 21.0.12
chapel 1-m.chpl 3525ms 26ms 223.5MB 6913ms 87ms chpl 2.9.0
java 1-m.java 3742ms 52ms 618.0MB 13450ms 670ms openjdk/zgc 21.0.12

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 208ms 12ms 198.2MB 350ms 27ms chpl 2.9.0
java 1-m.java 545ms 57ms 74.1MB 1767ms 40ms openjdk 21.0.12
java 1-m.java 671ms 12ms 150.9MB 1950ms 203ms openjdk/zgc 21.0.12

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1.chpl 102ms 3.9ms 36.7MB 87ms 7ms chpl 2.9.0
java 1-m.java 1039ms 23ms 264.1MB 2923ms 100ms openjdk 21.0.12
java 1-m.java 1342ms 121ms 561.6MB 2910ms 410ms openjdk/zgc 21.0.12

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1.chpl 45ms 2.1ms 34.7MB 33ms 3ms chpl 2.9.0
java 1-m.java 617ms 45ms 201.2MB 1710ms 63ms openjdk 21.0.12
java 1-m.java 714ms 118ms 215.6MB 1570ms 217ms openjdk/zgc 21.0.12

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 5-m.chpl 183ms 21ms 30.7MB 330ms 0ms chpl 2.9.0
java 4.java 471ms 5.9ms 48.4MB 617ms 17ms openjdk 21.0.12
java 4.java 569ms 9.0ms 44.2MB 627ms 110ms openjdk/zgc 21.0.12

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 5.chpl 34ms 4.1ms 32.7MB 40ms 0ms chpl 2.9.0
java 4-m.java 171ms 12ms 47.1MB 250ms 23ms openjdk 21.0.12
java 4.java 237ms 6.5ms 41.9MB 237ms 93ms openjdk/zgc 21.0.12

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1.chpl 9.9ms 0.4ms 32.6MB 0ms 0ms chpl 2.9.0
java 1.java 93ms 5.3ms 44.3MB 116ms 12ms openjdk 21.0.12
java 1.java 165ms 3.2ms 42.8MB 128ms 88ms openjdk/zgc 21.0.12

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 3-m.chpl 1364ms 2.9ms 88.7MB 2573ms 23ms chpl 2.9.0
java 3-m.java 1654ms 24ms 130.8MB 5690ms 57ms openjdk 21.0.12
java 3-m.java 2450ms 118ms 179.0MB 8267ms 210ms openjdk/zgc 21.0.12

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 3-m.chpl 197ms 3.4ms 90.7MB 337ms 7ms chpl 2.9.0
java 3-m.java 484ms 10ms 101.1MB 1473ms 50ms openjdk 21.0.12
java 3-m.java 590ms 20ms 97.4MB 1550ms 137ms openjdk/zgc 21.0.12

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 574ms 2.9ms 32.6MB 560ms 0ms chpl 2.9.0
java 1.java 836ms 7.8ms 45.3MB 903ms 20ms openjdk 21.0.12
java 1.java 948ms 8.1ms 42.6MB 943ms 97ms openjdk/zgc 21.0.12
java 2.java 2391ms 105ms 668.4MB 2600ms 133ms openjdk 21.0.12
java 2.java 4242ms 39ms 2140.1MB 3463ms 1093ms openjdk/zgc 21.0.12

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 71ms 4.0ms 32.6MB 53ms 7ms chpl 2.9.0
java 1-m.java 192ms 4.7ms 45.4MB 267ms 23ms openjdk 21.0.12
java 1.java 284ms 11ms 45.1MB 267ms 110ms openjdk/zgc 21.0.12
java 2-m.java 470ms 6.5ms 319.0MB 713ms 53ms openjdk 21.0.12
java 2.java 889ms 1.9ms 558.5MB 850ms 327ms openjdk/zgc 21.0.12

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 568ms 1.2ms 34.7MB 553ms 7ms chpl 2.9.0
java 1.java 5357ms 89ms 417.2MB 6753ms 143ms openjdk 21.0.12
java 1.java 6538ms 393ms 2905.5MB 6313ms 1513ms openjdk/zgc 21.0.12

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 148ms 3.7ms 34.7MB 133ms 3ms chpl 2.9.0
java 1-m.java 1639ms 92ms 421.6MB 2920ms 107ms openjdk 21.0.12
java 1-m.java 2264ms 50ms 1392.4MB 2540ms 883ms openjdk/zgc 21.0.12

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 3.chpl 1885ms 8.8ms 183.6MB 1837ms 37ms chpl 2.9.0
java 3.java 8627ms 72ms 563.4MB 9447ms 103ms openjdk 21.0.12
java 3.java 9355ms 276ms 737.5MB 9407ms 507ms openjdk/zgc 21.0.12

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 3.chpl 206ms 3.4ms 47.1MB 190ms 7ms chpl 2.9.0
java 3-m.java 1230ms 47ms 131.7MB 1947ms 43ms openjdk 21.0.12
java 3.java 1312ms 29ms 134.7MB 1800ms 130ms openjdk/zgc 21.0.12

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1.chpl 1641ms 12ms 30.7MB 1630ms 0ms chpl 2.9.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1.chpl 423ms 3.4ms 32.7MB 413ms 0ms chpl 2.9.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 5887ms 19ms 30.6MB 11737ms 7ms chpl 2.9.0
java 2-m.java 6269ms 79ms 47.7MB 24327ms 20ms openjdk 21.0.12
java 2-m.java 6422ms 61ms 45.2MB 24347ms 163ms openjdk/zgc 21.0.12
chapel 1.chpl 11110ms 28ms 30.7MB 11090ms 7ms chpl 2.9.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 1478ms 1.2ms 32.6MB 2927ms 0ms chpl 2.9.0
java 2-m.java 1680ms 11ms 46.0MB 6267ms 40ms openjdk 21.0.12
java 2-m.java 1805ms 63ms 44.1MB 6343ms 120ms openjdk/zgc 21.0.12
chapel 1.chpl 2794ms 6.7ms 30.7MB 2783ms 0ms chpl 2.9.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 380ms 1.0ms 30.6MB 727ms 3ms chpl 2.9.0
java 2-m.java 551ms 4.8ms 48.2MB 1853ms 20ms openjdk 21.0.12
java 2-m.java 646ms 7.1ms 45.7MB 1900ms 103ms openjdk/zgc 21.0.12
chapel 1.chpl 715ms 4.1ms 32.6MB 700ms 3ms chpl 2.9.0