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

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

Kotlin 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
kotlin 1.kt 794ms 80ms 581.9MB 1017ms 130ms kotlin/jvm 21.0.12
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
kotlin 1.kt 188ms 30ms 159.7MB 233ms 30ms kotlin/jvm 21.0.12
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
kotlin 2-m.kt 3342ms 283ms 229.6MB 12590ms 123ms kotlin/jvm 21.0.12
kotlin 1.kt 3615ms 290ms 219.6MB 4723ms 107ms kotlin/jvm 21.0.12

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 738ms 7.2ms 77.4MB 1727ms 47ms kotlin/jvm 21.0.12
kotlin 2-m.kt 1625ms 206ms 97.5MB 5807ms 100ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 87ms 4.3ms 46.2MB 136ms 12ms kotlin/jvm 21.0.12

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 2-m.kt 9841ms 283ms 341.7MB 32387ms 3343ms kotlin/jvm 21.0.12
kotlin 1-m.kt 11376ms 242ms 433.1MB 37790ms 4520ms kotlin/jvm 21.0.12

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 2-m.kt 3791ms 276ms 249.0MB 11797ms 810ms kotlin/jvm 21.0.12
kotlin 1-m.kt 3917ms 180ms 275.4MB 12153ms 857ms kotlin/jvm 21.0.12

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 1371ms 105ms 176.1MB 3830ms 140ms kotlin/jvm 21.0.12

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 3079ms 117ms 749.4MB 7240ms 250ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 284ms 4.7ms 95.4MB 503ms 33ms kotlin/jvm 21.0.12
kotlin 2-m.kt 389ms 13ms 99.5MB 863ms 27ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 482ms 4.8ms 201.4MB 717ms 47ms kotlin/jvm 21.0.12
kotlin 2-m.kt 543ms 5.7ms 209.8MB 993ms 67ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 255ms 1.9ms 91.1MB 500ms 37ms kotlin/jvm 21.0.12
kotlin 2-m.kt 302ms 15ms 95.4MB 693ms 23ms kotlin/jvm 21.0.12

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 641ms 8.2ms 676.7MB 820ms 93ms kotlin/jvm 21.0.12
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
kotlin 1-m.kt 250ms 11ms 205.0MB 363ms 67ms kotlin/jvm 21.0.12
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
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
kotlin 1.kt 884ms 6.3ms 49.9MB 980ms 17ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 208ms 14ms 49.7MB 297ms 17ms kotlin/jvm 21.0.12

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
kotlin 1.kt 5427ms 177ms 419.0MB 6873ms 170ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 1629ms 66ms 362.2MB 3007ms 117ms kotlin/jvm 21.0.12

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 8673ms 241ms 178.9MB 9617ms 70ms kotlin/jvm 21.0.12

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 1293ms 57ms 133.7MB 2110ms 47ms kotlin/jvm 21.0.12

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 5266ms 83ms 228.7MB 6800ms 87ms kotlin/jvm 21.0.12

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 1750ms 44ms 260.1MB 2960ms 50ms kotlin/jvm 21.0.12