All binarytrees problem benchmarks

Current benchmark data was generated on Mon Apr 14 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 461ms 12ms 574.0MB 563ms 83ms openjdk 21
java 2.java 480ms 4.7ms 624.4MB 600ms 97ms openjdk 23
java 2-m.java 481ms 6.8ms 642.9MB 670ms 120ms graal/jvm 17.0.8
kotlin 1.kt 513ms 4.4ms 577.8MB 603ms 107ms kotlin/jvm 21
dart 1.dart 726ms 7.5ms 80.8MB 697ms 40ms dart/exe 3.7.2
v 1.v 776ms 13ms 28.8MB 763ms 0ms v/clang+gc 0.4.10
nim 2.nim 934ms 16ms 34.6MB 917ms 3ms nim 2.2.2
csharp 1.cs 959ms 8.6ms 205.9MB 957ms 147ms dotnet 9.0.203
nim 2.nim 960ms 15ms 34.9MB 947ms 0ms nim/clang 2.2.2
csharp 1.cs 974ms 8.9ms 178.1MB 980ms 130ms dotnet/aot 9.0.203
javascript 1-m.js 1036ms 29ms 187.6MB 1633ms 273ms bun 1.2.9
typescript 1.ts 1061ms 15ms 470.5MB 1007ms 203ms deno 2.2.9
java 2.java 1174ms 6.5ms 1067.3MB 593ms 750ms openjdk/zgc 21
python 1.py 1213ms 9.6ms 96.3MB 1153ms 47ms pypy 3.10.16
go 1.go 1227ms 3.5ms 55.0MB 1207ms 7ms tinygo 0.37.0
crystal 1.cr 1247ms 8.3ms 64.0MB 1223ms 13ms crystal 1.16.0
rust 4.rs 1281ms 5.2ms 33.6MB 1260ms 7ms rustc 1.86.0
javascript 1-m.js 1296ms 2.8ms 272.7MB 2237ms 170ms node 23.11.0
haxe 1.hx 1342ms 4.5ms 144.0MB 1543ms 60ms haxe/cpp 4.3.6
rust 5.rs 1344ms 1.4ms 33.8MB 1317ms 10ms rustc 1.86.0
rust 3.rs 1480ms 48ms 49.8MB 1450ms 13ms rustc 1.86.0
csharp 1.cs 1663ms 23ms 105.5MB 1877ms 200ms mono 6.12.0
d 1.d 1781ms 9.7ms 312.7MB 1753ms 37ms ldc2 1.40.1
wasm 4.rs 1823ms 9.8ms 33.2MB 1800ms 10ms wasmtime 31.0.0
wasm 3.rs 1857ms 49ms 49.2MB 1830ms 17ms wasmtime 31.0.0
zig 1.zig 1894ms 41ms 49.0MB 1867ms 17ms zig 0.14.0
wasm 5.rs 1918ms 279ms 33.1MB 1893ms 7ms wasmtime 31.0.0
chapel 4.chpl 2067ms 198ms 62.3MB 2057ms 7ms chpl 1.31.0
v 1.v 2181ms 25ms 2086.6MB 1293ms 870ms v/clang 0.4.10
chapel 3.chpl 2195ms 24ms 60.3MB 2187ms 0ms chpl 1.31.0
go 1-m.go 2353ms 1.9ms 39.8MB 5253ms 37ms go 1.24.2
odin 1.odin 2546ms 42ms 49.5MB 2517ms 17ms odin 2024
swift 1.swift 2675ms 16ms 53.8MB 2643ms 20ms swift 6.1.0
d 1.d 3029ms 5.2ms 314.9MB 3207ms 50ms dmd 2.111.0
ocaml 1.ml 3140ms 30ms 157.0MB 3057ms 70ms ocaml 5.3.0
lua 1.lua 3698ms 5.1ms 172.9MB 3550ms 133ms luajit 2.1.0-beta3
haxe 2.hx 4432ms 13ms 495.1MB 5033ms 240ms haxe/cpp 4.3.6
kotlin 1.kt 4515ms 38ms 146.1MB 4703ms 67ms kotlin/native 2.1.20
ruby 1.rb 4815ms 21ms 109.4MB 4710ms 90ms ruby/yjit 3.4.2
acton 1.act timeout 0.0ms 67.0MB 6010ms 83ms actonc 0.24.1
haxe 1.hx timeout 0.0ms 48.7MB 5777ms 390ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 83.0MB 5190ms 670ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 50.3MB 7990ms 417ms haxe/hl/jit 1.15.0
haxe 2.hx timeout 0.0ms 130.8MB 7553ms 747ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 105.0MB 4950ms 37ms lua 5.4.7
perl 1.pl timeout 0.0ms 77.8MB 4957ms 30ms perl 5.40.1
php 1.php timeout 0.0ms 141.9MB 4957ms 27ms php 8.2.28
python 1.py timeout 0.0ms 40.9MB 4967ms 17ms cpython 3.13.3
python 1.py timeout 0.0ms 40.5MB 4760ms 227ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 70.5MB 4953ms 37ms ruby 3.4.2
ruby 1.rb timeout 0.0ms 758.8MB 6567ms 693ms truffleruby 24.2.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 72ms 2.7ms 4.6MB 60ms 0ms v/clang+gc 0.4.10
dart 1.dart 76ms 1.2ms 42.9MB 50ms 13ms dart/exe 3.7.2
nim 2.nim 88ms 1.6ms 5.5MB 80ms 0ms nim 2.2.2
nim 2.nim 91ms 2.6ms 5.8MB 80ms 0ms nim/clang 2.2.2
haxe 1.hx 94ms 2.8ms 25.6MB 87ms 10ms haxe/cpp 4.3.6
python 1.py 97ms 0.7ms 68.7MB 70ms 20ms pypy 3.10.16
javascript 1.js 102ms 0.7ms 79.0MB 77ms 30ms bun 1.2.9
crystal 1.cr 107ms 2.4ms 10.9MB 97ms 0ms crystal 1.16.0
go 1.go 113ms 1.4ms 5.6MB 100ms 0ms tinygo 0.37.0
csharp 1.cs 122ms 4.1ms 33.2MB 90ms 30ms dotnet/aot 9.0.203
rust 4.rs 123ms 2.7ms 5.6MB 117ms 0ms rustc 1.86.0
java 2.java 125ms 2.4ms 165.6MB 157ms 30ms openjdk 21
kotlin 1.kt 126ms 1.8ms 161.2MB 150ms 37ms kotlin/jvm 21
rust 5.rs 127ms 1.9ms 5.8MB 120ms 0ms rustc 1.86.0
javascript 1.js 130ms 3.3ms 78.4MB 137ms 23ms node 23.11.0
typescript 1.ts 131ms 3.6ms 78.5MB 133ms 27ms deno 2.2.9
java 2.java 135ms 5.3ms 96.2MB 173ms 27ms openjdk 23
rust 3.rs 143ms 9.2ms 7.8MB 130ms 0ms rustc 1.86.0
csharp 1.cs 143ms 1.7ms 42.2MB 120ms 13ms mono 6.12.0
java 2-m.java 150ms 5.9ms 224.4MB 227ms 53ms graal/jvm 17.0.8
zig 1.zig 152ms 2.5ms 7.0MB 140ms 0ms zig 0.14.0
d 1.d 162ms 2.9ms 209.9MB 137ms 13ms ldc2 1.40.1
wasm 5.rs 169ms 0.6ms 19.2MB 160ms 0ms wasmtime 31.0.0
wasm 3.rs 181ms 4.3ms 21.2MB 167ms 0ms wasmtime 31.0.0
chapel 3.chpl 186ms 2.0ms 30.3MB 180ms 0ms chpl 1.31.0
chapel 4.chpl 186ms 2.6ms 32.4MB 180ms 0ms chpl 1.31.0
wasm 4.rs 192ms 31ms 19.1MB 180ms 0ms wasmtime 31.0.0
csharp 1.cs 195ms 2.0ms 49.9MB 157ms 40ms dotnet 9.0.203
go 1-m.go 209ms 2.4ms 8.1MB 370ms 10ms go 1.24.2
v 1.v 210ms 4.3ms 198.0MB 120ms 80ms v/clang 0.4.10
odin 1.odin 223ms 1.9ms 7.5MB 210ms 0ms odin 2024
ocaml 1.ml 226ms 2.6ms 19.2MB 210ms 0ms ocaml 5.3.0
swift 1.swift 239ms 3.9ms 11.8MB 227ms 0ms swift 6.1.0
d 1.d 261ms 2.3ms 212.1MB 237ms 10ms dmd 2.111.0
java 2.java 304ms 2.2ms 241.6MB 157ms 203ms openjdk/zgc 21
lua 1.lua 305ms 9.6ms 15.8MB 283ms 10ms luajit 2.1.0-beta3
kotlin 1.kt 318ms 32ms 17.9MB 327ms 7ms kotlin/native 2.1.20
haxe 2.hx 400ms 3.2ms 58.3MB 433ms 27ms haxe/cpp 4.3.6
python 1.py 477ms 2.7ms 11.9MB 450ms 10ms pyston 3.8.12
ruby 1.rb 492ms 5.0ms 20.4MB 467ms 10ms ruby/yjit 3.4.2
ruby 1-m.rb 537ms 66ms 418.7MB 1060ms 157ms truffleruby 24.2.0
php 1.php 625ms 5.0ms 63.0MB 593ms 17ms php 8.2.28
haxe 1.hx 686ms 9.9ms 8.8MB 653ms 50ms haxe/hl/c 4.3.6
haxe 1.hx 718ms 17ms 11.2MB 797ms 63ms haxe/hl/jit 1.15.0
python 1.py 732ms 10.0ms 12.8MB 720ms 0ms cpython 3.13.3
lua 1.lua 819ms 2.0ms 16.9MB 803ms 0ms lua 5.4.7
acton 1.act 836ms 39ms 12.0MB 983ms 73ms actonc 0.24.1
ruby 1.rb 937ms 8.8ms 19.6MB 910ms 13ms ruby 3.4.2
haxe 2.hx 1232ms 144ms 13.7MB 1113ms 163ms haxe/hl/c 4.3.6
haxe 2.hx 1251ms 52ms 25.2MB 1313ms 177ms haxe/hl/jit 1.15.0
perl 1.pl 1814ms 6.8ms 14.4MB 1800ms 0ms perl 5.40.1