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

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

Wasm VS Crystal 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
crystal 1.cr 2516ms 29ms 57.1MB 2487ms 10ms crystal 1.11.2
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
wasm 3.rs 2830ms 30ms 47.9MB 2800ms 13ms wasmtime 48.0.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 223ms 20ms 9.5MB 207ms 0ms crystal 1.11.2
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

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
crystal 1.cr 2387ms 104ms 20.1MB 2310ms 60ms crystal 1.11.2

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 94ms 1.2ms 7.3MB 73ms 10ms crystal 1.11.2
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
crystal 1.cr 100ms 23ms 7.2MB 83ms 3ms crystal 1.11.2
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
crystal 1.cr 33ms 2.6ms 4.9MB 20ms 0ms crystal 1.11.2
wasm 1.rs 147ms 1.6ms 17.1MB 127ms 7ms wasmtime 48.0.2

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 3642ms 13ms 2.5MB 3633ms 0ms crystal 1.11.2
wasm 1.rs 4252ms 11ms 16.5MB 4240ms 0ms wasmtime 48.0.2

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 295ms 1.0ms 2.5MB 280ms 0ms crystal 1.11.2
wasm 1.rs 365ms 2.9ms 16.8MB 350ms 0ms wasmtime 48.0.2

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 304ms 0.8ms 18.4MB 283ms 7ms wasmtime 48.0.2
crystal 2.cr 622ms 5.2ms 2.9MB 493ms 110ms crystal 1.11.2
crystal 1.cr 864ms 8.7ms 14.1MB 743ms 100ms crystal 1.11.2

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 39ms 0.7ms 16.6MB 27ms 0ms wasmtime 48.0.2
crystal 2.cr 78ms 5.8ms 2.9MB 57ms 10ms crystal 1.11.2
crystal 1.cr 94ms 2.3ms 4.0MB 70ms 7ms crystal 1.11.2

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 2.8ms 0.5ms 2.5MB 0ms 0ms crystal 1.11.2
wasm 1.rs 7.3ms 0.6ms 18.9MB 0ms 0ms wasmtime 48.0.2

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 0-unsafe.cr 55ms 2.8ms 2.9MB 40ms 0ms crystal 1.11.2
crystal 1.cr 88ms 0.3ms 2.4MB 80ms 0ms crystal 1.11.2
wasm 1.rs 132ms 4.4ms 14.8MB 120ms 0ms wasmtime 48.0.2

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 0-unsafe.cr 155ms 2.1ms 2.5MB 147ms 0ms crystal 1.11.2
crystal 1.cr 260ms 6.8ms 2.5MB 250ms 0ms crystal 1.11.2
wasm 1.rs 382ms 18ms 14.6MB 367ms 0ms wasmtime 48.0.2

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 0-unsafe.cr 32ms 3.0ms 2.5MB 23ms 0ms crystal 1.11.2
crystal 1.cr 47ms 2.2ms 2.5MB 37ms 0ms crystal 1.11.2
wasm 1.rs 76ms 11ms 14.3MB 67ms 0ms wasmtime 48.0.2

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 507ms 1.0ms 9.4MB 493ms 0ms crystal 1.11.2
wasm 8.rs 776ms 1.2ms 19.6MB 763ms 0ms wasmtime 48.0.2

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 27ms 0.6ms 6.1MB 20ms 0ms crystal 1.11.2
wasm 8.rs 43ms 1.8ms 16.9MB 30ms 0ms wasmtime 48.0.2

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 1329ms 15ms 65.7MB 1307ms 10ms crystal 1.11.2
wasm 1.rs 1381ms 5.3ms 39.9MB 1357ms 7ms wasmtime 48.0.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 270ms 3.0ms 23.9MB 253ms 0ms crystal 1.11.2
wasm 1.rs 292ms 3.2ms 21.8MB 270ms 7ms wasmtime 48.0.2

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
crystal 2.cr 632ms 1.1ms 3.0MB 620ms 0ms crystal 1.11.2
crystal 1.cr 636ms 6.6ms 3.0MB 623ms 0ms crystal 1.11.2

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 2.cr 68ms 0.7ms 3.0MB 57ms 0ms crystal 1.11.2
crystal 1.cr 68ms 2.8ms 3.0MB 60ms 0ms crystal 1.11.2
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

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 2.cr 597ms 9.0ms 11.8MB 580ms 0ms crystal 1.11.2
wasm 2.rs 731ms 5.1ms 22.5MB 717ms 0ms wasmtime 48.0.2
crystal 1.cr 1077ms 11ms 42.4MB 1060ms 0ms crystal 1.11.2
wasm 1.rs 1119ms 2.6ms 57.6MB 1100ms 0ms wasmtime 48.0.2

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 2.cr 116ms 1.9ms 5.3MB 100ms 0ms crystal 1.11.2
wasm 2.rs 151ms 0.5ms 17.2MB 140ms 0ms wasmtime 48.0.2
crystal 1.cr 210ms 7.1ms 21.0MB 197ms 0ms crystal 1.11.2
wasm 1.rs 215ms 1.1ms 27.5MB 197ms 0ms wasmtime 48.0.2

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 2611ms 32ms 17.4MB 2593ms 3ms wasmtime 48.0.2
crystal 1.cr 3508ms 129ms 5.6MB 3480ms 10ms crystal 1.11.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 616ms 1.8ms 18.2MB 603ms 0ms wasmtime 48.0.2
crystal 1.cr 831ms 12ms 4.3MB 807ms 3ms crystal 1.11.2

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
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
wasm 2.rs 11040ms 32ms 16.8MB 11030ms 3ms wasmtime 48.0.2
crystal 1.cr 11056ms 4.8ms 3.9MB 11043ms 0ms crystal 1.11.2

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
crystal 1.cr 2769ms 0.6ms 3.9MB 2757ms 0ms crystal 1.11.2
wasm 2.rs 2771ms 8.4ms 16.7MB 2760ms 0ms wasmtime 48.0.2

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
crystal 1.cr 699ms 4.1ms 3.5MB 687ms 0ms crystal 1.11.2
wasm 2.rs 702ms 1.7ms 14.8MB 690ms 0ms wasmtime 48.0.2