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

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

acton VS Zig 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
acton 1-m.act 2140ms 43ms 38.5MB 3237ms 57ms acton 0.30.0
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
acton 1.act 217ms 5.2ms 9.6MB 273ms 10ms acton 0.30.0
zig 1.zig 280ms 53ms 7.1MB 240ms 0ms zig 0.14.1

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 13727ms 447ms 7.8MB 18197ms 12690ms acton 0.30.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 879ms 7.0ms 6.2MB 1110ms 823ms acton 0.30.0

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 275ms 10ms 7.5MB 260ms 17ms acton 0.30.0
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
acton 1.act 94ms 15ms 5.5MB 83ms 7ms acton 0.30.0
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
acton 1.act 65939ms 148ms 5.6MB 75737ms 15533ms acton 0.30.0

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
acton 1.act 4998ms 14ms 4.0MB 5640ms 1240ms acton 0.30.0

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
acton 1.act 5589ms 17ms 12.8MB 6087ms 410ms acton 0.30.0

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
acton 1.act 578ms 1.5ms 15.6MB 610ms 33ms acton 0.30.0

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
acton 1.act 4.5ms 1.1ms 3.8MB 0ms 0ms acton 0.30.0

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 496ms 19ms 6.8MB 940ms 253ms acton 0.30.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 117ms 12ms 6.6MB 170ms 33ms acton 0.30.0

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 141ms 3.0ms 49.9MB 187ms 10ms acton 0.30.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 907ms 66ms 339.4MB 1680ms 57ms acton 0.30.0

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
acton 1-m.act 87144ms 724ms 194.2MB 135057ms 717ms acton 0.30.0

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
acton 1-m.act 8692ms 20ms 74.4MB 13153ms 433ms acton 0.30.0

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
acton 1.act 1615ms 85ms 13.3MB 2107ms 187ms acton 0.30.0

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
acton 1.act 4706ms 236ms 6.1MB 6103ms 523ms acton 0.30.0

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
acton 1.act 828ms 11ms 11.9MB 893ms 213ms acton 0.30.0

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
acton 1.act 4758ms 11ms 13.7MB 5307ms 233ms acton 0.30.0

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
acton 1.act 211ms 5.6ms 12.3MB 213ms 20ms acton 0.30.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 1494ms 63ms 41.2MB 1463ms 13ms zig 0.14.1
acton 1.act 4999ms 46ms 83.6MB 6123ms 57ms acton 0.30.0

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
acton 1.act 1097ms 13ms 31.2MB 1333ms 33ms acton 0.30.0

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
acton 1.act 4728ms 31ms 6.0MB 5217ms 733ms acton 0.30.0

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
acton 1.act 478ms 5.0ms 12.1MB 517ms 73ms acton 0.30.0

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
zig 1.zig 958ms 9.6ms 40.1MB 940ms 0ms zig 0.14.1
acton 1.act 8124ms 92ms 725.4MB 10360ms 120ms acton 0.30.0

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
zig 1.zig 170ms 4.1ms 11.0MB 160ms 0ms zig 0.14.1
acton 1.act 1965ms 40ms 250.3MB 2377ms 47ms acton 0.30.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 3461ms 6.4ms 2.3MB 3433ms 13ms zig 0.14.1
acton 1-m.act 5009ms 46ms 14.3MB 6123ms 1420ms acton 0.30.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 854ms 121ms 1.9MB 837ms 0ms zig 0.14.1
acton 1.act 1277ms 11ms 7.7MB 1540ms 373ms acton 0.30.0

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act timeout (120s) — — — — acton 0.30.0

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 12513ms 174ms 101.1MB 20447ms 570ms acton 0.30.0

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 5761ms 42ms 4.0MB 6240ms 873ms acton 0.30.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 1453ms 25ms 4.0MB 1557ms 220ms acton 0.30.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 11057ms 6.2ms 1.1MB 11043ms 0ms zig 0.14.1
acton 1-m.act 105769ms 1188ms 5.7MB 163880ms 10223ms acton 0.30.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 2773ms 1.4ms 1.1MB 2757ms 0ms zig 0.14.1
acton 1-m.act 26160ms 70ms 8.7MB 38903ms 3493ms acton 0.30.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 697ms 1.0ms 1.1MB 690ms 0ms zig 0.14.1
acton 1.act 6035ms 45ms 4.4MB 7950ms 1010ms acton 0.30.0