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 Ruby 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
wasm 3.rs 2830ms 30ms 47.9MB 2800ms 13ms wasmtime 48.0.2
ruby 1.rb 11360ms 112ms 87.8MB 11283ms 57ms ruby 3.2.3
ruby 1.rb 11813ms 6.3ms 87.9MB 11740ms 57ms ruby/yjit 3.2.3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
ruby 1.rb 1118ms 12ms 30.2MB 1087ms 17ms ruby 3.2.3
ruby 1.rb 1172ms 15ms 30.3MB 1137ms 20ms ruby/yjit 3.2.3

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
ruby 1.rb 7971ms 44ms 73.0MB 7883ms 63ms ruby/yjit 3.2.3
ruby 1.rb 8086ms 166ms 73.1MB 7980ms 83ms ruby 3.2.3

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
ruby 1.rb 359ms 10ms 34.9MB 317ms 27ms ruby/yjit 3.2.3
ruby 1.rb 362ms 11ms 34.9MB 317ms 30ms ruby 3.2.3
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
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
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
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
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
ruby 6.rb 5551ms 66ms 33.6MB 5523ms 13ms ruby 3.2.3
ruby 6.rb 5694ms 44ms 33.6MB 5653ms 23ms ruby/yjit 3.2.3

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
ruby 6.rb 621ms 1.8ms 25.0MB 597ms 7ms ruby 3.2.3
ruby 6.rb 651ms 3.1ms 24.9MB 620ms 17ms ruby/yjit 3.2.3

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
ruby 1.rb 85ms 4.7ms 22.6MB 64ms 12ms ruby/yjit 3.2.3
ruby 1.rb 95ms 7.0ms 22.5MB 62ms 18ms ruby 3.2.3

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 132ms 4.4ms 14.8MB 120ms 0ms wasmtime 48.0.2
ruby 1.rb 861ms 5.6ms 22.8MB 833ms 17ms ruby 3.2.3
ruby 1.rb 879ms 15ms 22.7MB 860ms 7ms ruby/yjit 3.2.3

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 382ms 18ms 14.6MB 367ms 0ms wasmtime 48.0.2
ruby 1.rb 2450ms 53ms 22.8MB 2420ms 13ms ruby/yjit 3.2.3
ruby 1.rb 2468ms 49ms 22.8MB 2437ms 13ms ruby 3.2.3

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 76ms 11ms 14.3MB 67ms 0ms wasmtime 48.0.2
ruby 1.rb 474ms 9.8ms 22.8MB 447ms 13ms ruby/yjit 3.2.3
ruby 1.rb 482ms 2.1ms 22.8MB 457ms 10ms ruby 3.2.3

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
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
wasm 1.rs 1381ms 5.3ms 39.9MB 1357ms 7ms wasmtime 48.0.2
ruby 1.rb 27746ms 105ms 103.9MB 27650ms 80ms ruby 3.2.3
ruby 1.rb 27918ms 153ms 104.0MB 27813ms 87ms ruby/yjit 3.2.3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 292ms 3.2ms 21.8MB 270ms 7ms wasmtime 48.0.2
ruby 1.rb 6147ms 56ms 44.0MB 6087ms 47ms ruby/yjit 3.2.3
ruby 1.rb 6156ms 36ms 44.0MB 6097ms 43ms ruby 3.2.3

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
ruby 2.rb 46837ms 1570ms 22.6MB 46803ms 13ms ruby 3.2.3
ruby 2.rb 47090ms 429ms 22.5MB 47053ms 13ms ruby/yjit 3.2.3

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
ruby 2.rb 4685ms 47ms 22.6MB 4660ms 7ms ruby/yjit 3.2.3
ruby 2.rb 4697ms 102ms 22.5MB 4673ms 10ms ruby 3.2.3

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 731ms 5.1ms 22.5MB 717ms 0ms wasmtime 48.0.2
wasm 1.rs 1119ms 2.6ms 57.6MB 1100ms 0ms wasmtime 48.0.2
ruby 1.rb 25887ms 459ms 493.1MB 25683ms 183ms ruby 3.2.3
ruby 1.rb 25973ms 509ms 493.0MB 25737ms 220ms ruby/yjit 3.2.3

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 151ms 0.5ms 17.2MB 140ms 0ms wasmtime 48.0.2
wasm 1.rs 215ms 1.1ms 27.5MB 197ms 0ms wasmtime 48.0.2
ruby 1.rb 6454ms 102ms 141.4MB 6377ms 63ms ruby 3.2.3
ruby 1.rb 6477ms 132ms 141.4MB 6400ms 63ms ruby/yjit 3.2.3

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
ruby 1.rb 11411ms 21ms 122.0MB 11350ms 40ms ruby 3.2.3
ruby 1.rb 11438ms 47ms 123.6MB 11370ms 57ms ruby/yjit 3.2.3

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
ruby 1.rb 2813ms 16ms 124.1MB 2747ms 47ms ruby 3.2.3
ruby 1.rb 2836ms 11ms 123.9MB 2773ms 43ms ruby/yjit 3.2.3

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
ruby 4.rb timeout (300s) — — — — ruby 3.2.3
ruby 4.rb timeout (300s) — — — — ruby/yjit 3.2.3

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
wasm 2.rs 2771ms 8.4ms 16.7MB 2760ms 0ms wasmtime 48.0.2
ruby 4.rb 108151ms 898ms 24.1MB 108120ms 10ms ruby 3.2.3
ruby 4.rb timeout (120s) — — — — ruby/yjit 3.2.3

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
wasm 2.rs 702ms 1.7ms 14.8MB 690ms 0ms wasmtime 48.0.2
ruby 4.rb 27651ms 1140ms 23.4MB 27623ms 10ms ruby/yjit 3.2.3
ruby 4.rb 28446ms 2206ms 23.3MB 28410ms 13ms ruby 3.2.3