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 Wasm 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
wasm 5.rs 2706ms 23ms 31.8MB 2683ms 7ms wasmtime 48.0.2
wasm 4.rs 2716ms 16ms 31.9MB 2693ms 10ms wasmtime 48.0.2
chapel 4.chpl 2730ms 14ms 64.8MB 2707ms 7ms chpl 2.9.0
wasm 3.rs 2830ms 30ms 47.9MB 2800ms 13ms wasmtime 48.0.2
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
chapel 4.chpl 254ms 3.1ms 36.7MB 237ms 7ms chpl 2.9.0
wasm 4.rs 256ms 0.8ms 20.1MB 240ms 0ms wasmtime 48.0.2
wasm 5.rs 258ms 2.6ms 18.1MB 240ms 0ms wasmtime 48.0.2
wasm 3.rs 288ms 29ms 20.0MB 270ms 3ms wasmtime 48.0.2
chapel 3.chpl 292ms 6.5ms 34.8MB 267ms 10ms chpl 2.9.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 3.rs 1617ms 13ms 20.5MB 1603ms 0ms wasmtime 48.0.2
chapel 1-m.chpl 3525ms 26ms 223.5MB 6913ms 87ms chpl 2.9.0

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
wasm 3.rs 423ms 73ms 19.6MB 103ms 3ms wasmtime 48.0.2

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
wasm 1.rs 547ms 6.8ms 17.7MB 533ms 0ms wasmtime 48.0.2

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
wasm 1.rs 147ms 1.6ms 17.1MB 127ms 7ms wasmtime 48.0.2

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
wasm 1.rs 304ms 0.8ms 18.4MB 283ms 7ms wasmtime 48.0.2

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
wasm 1.rs 39ms 0.7ms 16.6MB 27ms 0ms wasmtime 48.0.2

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 7.3ms 0.6ms 18.9MB 0ms 0ms wasmtime 48.0.2
chapel 1.chpl 9.9ms 0.4ms 32.6MB 0ms 0ms chpl 2.9.0

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

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

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
wasm 1.rs 621ms 3.5ms 16.6MB 603ms 0ms wasmtime 48.0.2
wasm 2.rs 622ms 5.9ms 16.5MB 610ms 0ms wasmtime 48.0.2

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
wasm 1.rs 72ms 1.4ms 16.4MB 60ms 0ms wasmtime 48.0.2
wasm 2.rs 74ms 5.5ms 16.7MB 63ms 0ms wasmtime 48.0.2

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
wasm 2.rs 2611ms 32ms 17.4MB 2593ms 3ms wasmtime 48.0.2

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
wasm 2.rs 616ms 1.8ms 18.2MB 603ms 0ms wasmtime 48.0.2

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

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

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
wasm 1.rs 4539ms 54ms 16.7MB 4530ms 0ms wasmtime 48.0.2

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
wasm 1.rs 1152ms 18ms 14.8MB 1140ms 0ms wasmtime 48.0.2

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 7.rs 5534ms 4.6ms 16.3MB 5520ms 0ms wasmtime 48.0.2
chapel 1-m.chpl 5887ms 19ms 30.6MB 11737ms 7ms chpl 2.9.0
wasm 2.rs 11040ms 32ms 16.8MB 11030ms 3ms wasmtime 48.0.2
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
wasm 7.rs 1395ms 1.6ms 16.7MB 1383ms 0ms wasmtime 48.0.2
chapel 1-m.chpl 1478ms 1.2ms 32.6MB 2927ms 0ms chpl 2.9.0
wasm 2.rs 2771ms 8.4ms 16.7MB 2760ms 0ms wasmtime 48.0.2
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
wasm 7.rs 358ms 2.2ms 18.7MB 343ms 0ms wasmtime 48.0.2
chapel 1-m.chpl 380ms 1.0ms 30.6MB 727ms 3ms chpl 2.9.0
wasm 2.rs 702ms 1.7ms 14.8MB 690ms 0ms wasmtime 48.0.2
chapel 1.chpl 715ms 4.1ms 32.6MB 700ms 3ms chpl 2.9.0