All binarytrees problem benchmarks

Current benchmark data was generated on Tue Mar 25 2025, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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
java 2.java 458ms 2.4ms 576.1MB 560ms 83ms openjdk 21
java 2-m.java 468ms 4.5ms 644.9MB 643ms 120ms graal/jvm 17.0.8
kotlin 1.kt 482ms 0.5ms 578.0MB 560ms 90ms kotlin/jvm 21
java 2.java 483ms 9.4ms 620.6MB 587ms 107ms openjdk 23
dart 1.dart 717ms 2.7ms 80.8MB 687ms 40ms dart/exe 3.7.2
v 1.v 826ms 7.1ms 22.1MB 813ms 0ms v/clang+gc 0.4.10
nim 2.nim 909ms 6.8ms 34.6MB 893ms 0ms nim 2.2.2
nim 2.nim 952ms 13ms 34.9MB 937ms 0ms nim/clang 2.2.2
javascript 1-m.js 977ms 25ms 178.7MB 1493ms 240ms bun 1.2.6
csharp 1.cs 987ms 29ms 207.3MB 987ms 150ms dotnet 9.0.202
csharp 1.cs 1059ms 17ms 186.1MB 1060ms 143ms dotnet/aot 9.0.202
typescript 1.ts 1098ms 12ms 478.3MB 1023ms 233ms deno 2.2.5
python 1.py 1197ms 3.3ms 96.2MB 1130ms 53ms pypy 3.10.16
java 2.java 1240ms 21ms 1086.3MB 587ms 817ms openjdk/zgc 21
go 1.go 1269ms 2.1ms 54.9MB 1247ms 7ms tinygo 0.37.0
crystal 1.cr 1276ms 8.3ms 64.0MB 1257ms 0ms crystal 1.15.1
javascript 1-m.js 1281ms 9.6ms 272.7MB 2213ms 177ms node 23.10.0
rust 4.rs 1295ms 3.8ms 33.6MB 1273ms 10ms rustc 1.85.1
haxe 1.hx 1335ms 6.0ms 144.0MB 1527ms 77ms haxe/cpp 4.3.6
rust 5.rs 1401ms 21ms 33.8MB 1377ms 7ms rustc 1.85.1
rust 3.rs 1556ms 12ms 49.8MB 1523ms 20ms rustc 1.85.1
ruby 1-m.rb 1604ms 2779ms 798.2MB 6547ms 637ms truffleruby 24.2.0
csharp 1.cs 1745ms 50ms 99.7MB 1947ms 213ms mono 6.12.0
d 1.d 1796ms 1.6ms 312.6MB 1770ms 33ms ldc2 1.40.1
wasm 5.rs 1828ms 60ms 33.1MB 1810ms 10ms wasmtime 31.0.0
wasm 4.rs 1855ms 21ms 33.1MB 1833ms 10ms wasmtime 31.0.0
wasm 3.rs 1870ms 21ms 49.2MB 1847ms 10ms wasmtime 31.0.0
zig 1.zig 1906ms 32ms 49.0MB 1873ms 17ms zig 0.14.0
chapel 3.chpl 2069ms 6.5ms 60.3MB 2057ms 0ms chpl 1.31.0
chapel 4.chpl 2076ms 200ms 62.2MB 2063ms 3ms chpl 1.31.0
v 1.v 2249ms 23ms 2086.6MB 1327ms 910ms v/clang 0.4.10
go 1-m.go 2414ms 64ms 46.3MB 5500ms 40ms go 1.24.1
odin 1.odin 2495ms 82ms 49.6MB 2460ms 20ms odin 2024
d 1.d 2825ms 142ms 314.8MB 3023ms 47ms dmd 2.110.0
swift 1.swift 2950ms 76ms 53.9MB 2917ms 20ms swift 6.0.3
ocaml 1.ml 3139ms 30ms 157.2MB 3050ms 73ms ocaml 5.3.0
kotlin 1-m.kt 3201ms 42ms 246.5MB 5153ms 850ms kotlin/native 1.8.21
lua 1.lua 3609ms 57ms 172.8MB 3463ms 133ms luajit 2.1.0-beta3
haxe 2.hx 4499ms 74ms 495.1MB 5100ms 253ms haxe/cpp 4.3.6
ruby 1.rb 4929ms 11ms 110.0MB 4830ms 87ms ruby/yjit 3.4.2
acton 1.act timeout 0.0ms 67.1MB 5977ms 80ms actonc 0.24.1
haxe 1.hx timeout 0.0ms 48.6MB 5677ms 400ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 83.0MB 5143ms 663ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 50.6MB 7870ms 427ms haxe/hl/jit 1.15.0
haxe 2.hx timeout 0.0ms 131.0MB 7410ms 773ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 104.9MB 4947ms 40ms lua 5.4.7
perl 1.pl timeout 0.0ms 77.8MB 4960ms 30ms perl 5.40.1
php 1.php timeout 0.0ms 141.8MB 4960ms 27ms php 8.2.28
python 1.py timeout 0.0ms 40.8MB 4967ms 17ms cpython 3.13.2
python 1.py timeout 0.0ms 40.5MB 4740ms 250ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 70.6MB 4943ms 43ms ruby 3.4.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 72ms 1.3ms 4.6MB 60ms 0ms v/clang+gc 0.4.10
dart 1.dart 75ms 0.5ms 42.8MB 53ms 13ms dart/exe 3.7.2
nim 2.nim 89ms 2.7ms 5.5MB 80ms 0ms nim 2.2.2
haxe 1.hx 91ms 0.6ms 25.6MB 83ms 10ms haxe/cpp 4.3.6
nim 2.nim 93ms 1.8ms 5.8MB 80ms 0ms nim/clang 2.2.2
python 1.py 97ms 2.2ms 68.7MB 67ms 17ms pypy 3.10.16
javascript 1.js 104ms 4.1ms 79.9MB 83ms 27ms bun 1.2.6
crystal 1.cr 105ms 2.2ms 10.9MB 90ms 0ms crystal 1.15.1
kotlin 1.kt 107ms 0.7ms 160.3MB 117ms 27ms kotlin/jvm 21
go 1.go 117ms 2.2ms 5.6MB 107ms 0ms tinygo 0.37.0
rust 4.rs 123ms 2.5ms 5.8MB 113ms 0ms rustc 1.85.1
java 2-m.java 123ms 4.3ms 98.7MB 163ms 30ms openjdk 23
java 2.java 125ms 5.0ms 169.0MB 153ms 33ms openjdk 21
rust 5.rs 127ms 3.9ms 5.8MB 117ms 0ms rustc 1.85.1
javascript 1.js 129ms 2.8ms 78.7MB 133ms 20ms node 23.10.0
csharp 1.cs 132ms 9.0ms 34.1MB 97ms 30ms dotnet/aot 9.0.202
typescript 1.ts 133ms 2.2ms 77.1MB 130ms 30ms deno 2.2.5
rust 3.rs 136ms 2.8ms 7.8MB 123ms 0ms rustc 1.85.1
java 2-m.java 150ms 9.1ms 225.3MB 223ms 57ms graal/jvm 17.0.8
csharp 1.cs 151ms 3.1ms 44.1MB 127ms 10ms mono 6.12.0
zig 1.zig 153ms 1.1ms 7.0MB 140ms 0ms zig 0.14.0
d 1.d 164ms 2.0ms 209.8MB 140ms 13ms ldc2 1.40.1
wasm 5.rs 171ms 2.0ms 19.2MB 160ms 0ms wasmtime 31.0.0
wasm 4.rs 179ms 1.6ms 19.2MB 167ms 0ms wasmtime 31.0.0
wasm 3.rs 187ms 5.5ms 21.1MB 167ms 0ms wasmtime 31.0.0
chapel 3.chpl 188ms 1.6ms 32.2MB 180ms 0ms chpl 1.31.0
chapel 4.chpl 196ms 21ms 32.3MB 190ms 0ms chpl 1.31.0
csharp 1.cs 202ms 3.4ms 50.0MB 160ms 37ms dotnet 9.0.202
go 1-m.go 211ms 1.3ms 7.9MB 373ms 10ms go 1.24.1
v 1.v 212ms 3.0ms 197.1MB 120ms 77ms v/clang 0.4.10
odin 1.odin 222ms 2.2ms 7.5MB 210ms 0ms odin 2024
ocaml 1.ml 228ms 11ms 19.2MB 213ms 0ms ocaml 5.3.0
d 1.d 231ms 4.2ms 211.8MB 203ms 10ms dmd 2.110.0
swift 1.swift 237ms 1.1ms 11.9MB 227ms 0ms swift 6.0.3
kotlin 1-m.kt 283ms 2.6ms 30.5MB 453ms 67ms kotlin/native 1.8.21
lua 1.lua 296ms 4.6ms 15.6MB 273ms 10ms luajit 2.1.0-beta3
java 2.java 306ms 2.8ms 241.6MB 150ms 210ms openjdk/zgc 21
haxe 2.hx 404ms 2.0ms 58.3MB 440ms 30ms haxe/cpp 4.3.6
python 1.py 487ms 1.2ms 11.9MB 460ms 13ms pyston 3.8.12
ruby 1.rb 497ms 4.3ms 20.3MB 473ms 10ms ruby/yjit 3.4.2
ruby 1-m.rb 605ms 52ms 425.3MB 1203ms 173ms truffleruby 24.2.0
php 1.php 619ms 2.5ms 63.1MB 583ms 20ms php 8.2.28
haxe 1.hx 645ms 1.8ms 8.8MB 620ms 40ms haxe/hl/c 4.3.6
haxe 1.hx 682ms 5.5ms 11.2MB 740ms 63ms haxe/hl/jit 1.15.0
python 1.py 726ms 15ms 12.6MB 713ms 0ms cpython 3.13.2
lua 1.lua 822ms 9.4ms 16.9MB 810ms 0ms lua 5.4.7
acton 1.act 835ms 22ms 12.0MB 973ms 73ms actonc 0.24.1
haxe 2.hx 935ms 9.3ms 13.6MB 807ms 173ms haxe/hl/c 4.3.6
ruby 1.rb 935ms 7.2ms 19.6MB 910ms 10ms ruby 3.4.2
haxe 2.hx 1121ms 11ms 25.0MB 1130ms 173ms haxe/hl/jit 1.15.0
perl 1.pl 1816ms 9.0ms 14.4MB 1800ms 0ms perl 5.40.1