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 Rust 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
rust 5.rs 2161ms 12ms 33.8MB 2140ms 3ms rustc 1.98.1
rust 3.rs 2212ms 49ms 49.8MB 2183ms 10ms rustc 1.98.1
rust 4.rs 2253ms 19ms 33.8MB 2230ms 10ms rustc 1.98.1
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
rust 5.rs 185ms 4.9ms 5.7MB 173ms 0ms rustc 1.98.1
rust 4.rs 203ms 1.5ms 5.7MB 190ms 0ms rustc 1.98.1
rust 3.rs 205ms 20ms 7.8MB 190ms 0ms rustc 1.98.1
zig 1.zig 280ms 53ms 7.1MB 240ms 0ms zig 0.14.1

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 2.rs 195ms 1.6ms 4.4MB 183ms 0ms rustc 1.98.1
rust 1.rs 203ms 29ms 3.6MB 197ms 0ms rustc 1.98.1
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
rust 1.rs 52ms 2.2ms 2.8MB 40ms 0ms rustc 1.98.1
rust 2.rs 54ms 4.2ms 3.4MB 43ms 0ms rustc 1.98.1
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
rust 3-im.rs 376ms 5.4ms 3.1MB 1437ms 0ms rustc 1.98.1
rust 2-im.rs 811ms 3.4ms 1.2MB 3080ms 0ms rustc 1.98.1
zig 2-m.zig 833ms 6.5ms 1.5MB 3140ms 0ms zig 0.14.1
rust 5-m.rs 1047ms 9.5ms 1.1MB 3977ms 3ms rustc 1.98.1
rust 3-i.rs 1073ms 14ms 1.1MB 1063ms 0ms rustc 1.98.1
rust 1-m.rs 1366ms 10ms 1.1MB 5263ms 0ms rustc 1.98.1
zig 3-i.zig 1413ms 43ms 1.1MB 1400ms 0ms zig 0.14.1
rust 2-i.rs 2458ms 53ms 1.1MB 2443ms 0ms rustc 1.98.1
zig 1.zig 2763ms 12ms 1.1MB 2753ms 0ms zig 0.14.1
rust 1.rs 2906ms 17ms 1.1MB 2893ms 0ms rustc 1.98.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 3-im.rs 36ms 2.0ms 3.1MB 107ms 0ms rustc 1.98.1
rust 2-im.rs 72ms 1.7ms 2.2MB 243ms 0ms rustc 1.98.1
zig 2-m.zig 77ms 2.6ms 1.5MB 243ms 0ms zig 0.14.1
rust 5-m.rs 97ms 11ms 1.1MB 290ms 0ms rustc 1.98.1
rust 3-i.rs 106ms 12ms 1.1MB 93ms 0ms rustc 1.98.1
rust 1-m.rs 120ms 1.4ms 1.1MB 417ms 0ms rustc 1.98.1
zig 3-i.zig 124ms 4.7ms 1.1MB 113ms 0ms zig 0.14.1
rust 2-i.rs 205ms 3.1ms 1.1MB 197ms 0ms rustc 1.98.1
zig 1.zig 239ms 3.8ms 1.1MB 227ms 0ms zig 0.14.1
rust 1.rs 263ms 14ms 1.1MB 253ms 0ms rustc 1.98.1

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5c-m.rs 107ms 0.9ms 2.4MB 347ms 3ms rustc 1.98.1
rust 5-m.rs 125ms 2.6ms 2.4MB 427ms 0ms rustc 1.98.1
zig 1.zig 138ms 0.5ms 1.1MB 127ms 0ms zig 0.14.1
rust 1c.rs 173ms 1.3ms 1.2MB 163ms 0ms rustc 1.98.1
rust 6.rs 186ms 9.1ms 1.1MB 180ms 0ms rustc 1.98.1
rust 1.rs 213ms 3.2ms 1.1MB 200ms 0ms rustc 1.98.1

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
rust 5c-m.rs 17ms 0.0ms 2.4MB 37ms 0ms rustc 1.98.1
rust 5-m.rs 18ms 1.3ms 2.4MB 33ms 0ms rustc 1.98.1
rust 1c.rs 20ms 1.3ms 1.1MB 10ms 0ms rustc 1.98.1
rust 6.rs 21ms 1.0ms 1.1MB 10ms 0ms rustc 1.98.1
rust 1.rs 24ms 0.5ms 1.1MB 10ms 0ms rustc 1.98.1

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
rust 1.rs 1.6ms 0.3ms 1.9MB 0ms 0ms rustc 1.98.1

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 475ms 19ms 27.6MB 1260ms 13ms rustc 1.98.1
zig 1-m.zig 798ms 15ms 66.9MB 2580ms 27ms zig 0.14.1
rust 8.rs 838ms 32ms 23.8MB 810ms 10ms rustc 1.98.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
rust 8-m.rs 62ms 6.2ms 16.3MB 140ms 3ms rustc 1.98.1
rust 8.rs 100ms 1.7ms 11.6MB 83ms 0ms rustc 1.98.1
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
rust 0-unsafe.rs 44ms 3.1ms 1.1MB 33ms 0ms rustc 1.98.1
zig 1.zig 51ms 1.5ms 2.7MB 40ms 0ms zig 0.14.1
rust 1.rs 70ms 7.9ms 1.1MB 60ms 0ms rustc 1.98.1

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
rust 0-unsafe.rs 202ms 23ms 1.1MB 193ms 0ms rustc 1.98.1
rust 1.rs 280ms 31ms 1.1MB 270ms 0ms rustc 1.98.1

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
rust 0-unsafe.rs 28ms 0.2ms 1.2MB 20ms 0ms rustc 1.98.1
rust 1.rs 46ms 2.5ms 1.1MB 37ms 0ms rustc 1.98.1

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
rust 8.rs 410ms 2.4ms 4.6MB 393ms 3ms rustc 1.98.1

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
rust 8.rs 21ms 1.5ms 1.1MB 13ms 0ms rustc 1.98.1

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 1084ms 8.3ms 33.8MB 1060ms 10ms rustc 1.98.1
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
rust 1.rs 212ms 3.5ms 9.8MB 197ms 0ms rustc 1.98.1
zig 1.zig 267ms 4.3ms 11.0MB 253ms 3ms zig 0.14.1

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4-i.rs 221ms 1.1ms 1.1MB 210ms 0ms rustc 1.98.1
rust 7-i.rs 333ms 4.8ms 1.1MB 320ms 0ms rustc 1.98.1
rust 1.rs 361ms 3.0ms 1.1MB 350ms 0ms rustc 1.98.1
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
rust 2.rs 484ms 2.9ms 1.1MB 473ms 0ms rustc 1.98.1
zig 1.zig 510ms 3.2ms 1.1MB 500ms 0ms zig 0.14.1

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4-i.rs 24ms 0.3ms 1.1MB 17ms 0ms rustc 1.98.1
rust 7-i.rs 36ms 0.4ms 1.1MB 23ms 0ms rustc 1.98.1
rust 1.rs 39ms 0.7ms 1.1MB 30ms 0ms rustc 1.98.1
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
rust 2.rs 52ms 0.8ms 1.1MB 43ms 0ms rustc 1.98.1
zig 1.zig 56ms 2.3ms 1.1MB 47ms 0ms zig 0.14.1

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
rust 2.rs 656ms 18ms 6.6MB 640ms 0ms rustc 1.98.1
zig 1.zig 958ms 9.6ms 40.1MB 940ms 0ms zig 0.14.1
rust 1.rs 1035ms 16ms 40.8MB 1010ms 10ms rustc 1.98.1

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
rust 2.rs 129ms 12ms 2.8MB 117ms 0ms rustc 1.98.1
zig 1.zig 170ms 4.1ms 11.0MB 160ms 0ms zig 0.14.1
rust 1.rs 212ms 36ms 11.7MB 193ms 0ms rustc 1.98.1

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 2.rs 2314ms 44ms 2.8MB 2230ms 70ms rustc 1.98.1
zig 1.zig 3461ms 6.4ms 2.3MB 3433ms 13ms zig 0.14.1
rust 1.rs 10361ms 53ms 3.3MB 8747ms 1587ms rustc 1.98.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 2.rs 506ms 4.3ms 2.5MB 493ms 0ms rustc 1.98.1
zig 1.zig 854ms 121ms 1.9MB 837ms 0ms zig 0.14.1
rust 1.rs 1997ms 8.8ms 2.8MB 1823ms 157ms rustc 1.98.1

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 3024ms 23ms 2.2MB 11890ms 10ms rustc 1.98.1
rust 7.rs 5535ms 8.5ms 1.1MB 5527ms 0ms rustc 1.98.1
rust 2-m.rs 5819ms 1.9ms 2.4MB 22997ms 13ms rustc 1.98.1
rust 2.rs 11036ms 18ms 2.1MB 11023ms 0ms rustc 1.98.1
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
rust 7-m.rs 747ms 2.9ms 1.1MB 2903ms 7ms rustc 1.98.1
rust 7.rs 1386ms 2.3ms 1.1MB 1377ms 0ms rustc 1.98.1
rust 2-m.rs 1459ms 0.7ms 3.1MB 5733ms 3ms rustc 1.98.1
rust 2.rs 2762ms 2.0ms 1.1MB 2750ms 0ms rustc 1.98.1
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
rust 7-m.rs 189ms 0.4ms 3.1MB 697ms 3ms rustc 1.98.1
rust 7.rs 351ms 1.2ms 1.1MB 340ms 0ms rustc 1.98.1
rust 2-m.rs 368ms 0.3ms 1.2MB 1410ms 3ms rustc 1.98.1
rust 2.rs 693ms 2.4ms 1.1MB 680ms 0ms rustc 1.98.1
zig 1.zig 697ms 1.0ms 1.1MB 690ms 0ms zig 0.14.1