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

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

Zig 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
wasm 3.rs 2830ms 30ms 47.9MB 2800ms 13ms wasmtime 48.0.2
zig 1.zig 2945ms 28ms 49.1MB 2920ms 7ms zig 0.14.1

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
zig 1.zig 280ms 53ms 7.1MB 240ms 0ms zig 0.14.1
wasm 3.rs 288ms 29ms 20.0MB 270ms 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
zig 1.zig 5068ms 18ms 2.4MB 5030ms 20ms zig 0.14.1

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
zig 1.zig 841ms 12ms 2.0MB 823ms 3ms zig 0.14.1

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2-m.zig 833ms 6.5ms 1.5MB 3140ms 0ms zig 0.14.1
zig 3-i.zig 1413ms 43ms 1.1MB 1400ms 0ms zig 0.14.1
zig 1.zig 2763ms 12ms 1.1MB 2753ms 0ms zig 0.14.1
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
zig 2-m.zig 77ms 2.6ms 1.5MB 243ms 0ms zig 0.14.1
zig 3-i.zig 124ms 4.7ms 1.1MB 113ms 0ms zig 0.14.1
zig 1.zig 239ms 3.8ms 1.1MB 227ms 0ms zig 0.14.1
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
zig 1.zig 138ms 0.5ms 1.1MB 127ms 0ms zig 0.14.1
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
zig 1.zig 17ms 1.2ms 1.1MB 10ms 0ms zig 0.14.1
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
zig 1.zig 1.3ms 0.5ms 1.1MB 0ms 0ms zig 0.14.1
wasm 1.rs 7.3ms 0.6ms 18.9MB 0ms 0ms wasmtime 48.0.2

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1-m.zig 798ms 15ms 66.9MB 2580ms 27ms zig 0.14.1
zig 1.zig 1043ms 10ms 26.3MB 1013ms 7ms zig 0.14.1

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1-m.zig 117ms 4.2ms 55.0MB 293ms 43ms zig 0.14.1
zig 1.zig 130ms 6.2ms 15.5MB 107ms 3ms zig 0.14.1

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 51ms 1.5ms 2.7MB 40ms 0ms zig 0.14.1
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
zig 1.zig 143ms 5.9ms 2.7MB 133ms 0ms zig 0.14.1
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
zig 1.zig 26ms 0.9ms 1.1MB 13ms 0ms zig 0.14.1
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
zig 1.zig 350ms 2.1ms 4.2MB 340ms 0ms zig 0.14.1
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
zig 1.zig 17ms 0.6ms 1.1MB 10ms 0ms zig 0.14.1
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
zig 1.zig 1494ms 63ms 41.2MB 1463ms 13ms zig 0.14.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 267ms 4.3ms 11.0MB 253ms 3ms zig 0.14.1
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
zig 3.zig 379ms 3.1ms 1.1MB 370ms 0ms zig 0.14.1
zig 2.zig 470ms 2.9ms 1.1MB 457ms 0ms zig 0.14.1
zig 1.zig 510ms 3.2ms 1.1MB 500ms 0ms zig 0.14.1
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
zig 3.zig 42ms 3.2ms 1.1MB 33ms 0ms zig 0.14.1
zig 2.zig 50ms 2.1ms 1.1MB 40ms 0ms zig 0.14.1
zig 1.zig 56ms 2.3ms 1.1MB 47ms 0ms zig 0.14.1
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
zig 2.zig 552ms 15ms 6.0MB 543ms 0ms zig 0.14.1
wasm 2.rs 731ms 5.1ms 22.5MB 717ms 0ms wasmtime 48.0.2
zig 1.zig 958ms 9.6ms 40.1MB 940ms 0ms zig 0.14.1
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
zig 2.zig 107ms 1.3ms 2.2MB 100ms 0ms zig 0.14.1
wasm 2.rs 151ms 0.5ms 17.2MB 140ms 0ms wasmtime 48.0.2
zig 1.zig 170ms 4.1ms 11.0MB 160ms 0ms zig 0.14.1
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
zig 1.zig 3461ms 6.4ms 2.3MB 3433ms 13ms zig 0.14.1

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
zig 1.zig 854ms 121ms 1.9MB 837ms 0ms zig 0.14.1

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
zig 1.zig 11057ms 6.2ms 1.1MB 11043ms 0ms zig 0.14.1

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
zig 1.zig 2773ms 1.4ms 1.1MB 2757ms 0ms zig 0.14.1

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
zig 1.zig 697ms 1.0ms 1.1MB 690ms 0ms zig 0.14.1
wasm 2.rs 702ms 1.7ms 14.8MB 690ms 0ms wasmtime 48.0.2