All binarytrees problem benchmarks

Current benchmark data was generated on Mon May 19 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 6.7ms 574.1MB 563ms 77ms openjdk 21
java 2-m.java 466ms 7.3ms 643.0MB 657ms 117ms graal/jvm 17.0.8
java 2.java 468ms 2.3ms 638.7MB 577ms 87ms openjdk 23
kotlin 1.kt 491ms 9.8ms 576.6MB 603ms 80ms kotlin/jvm 21
dart 1.dart 721ms 1.9ms 80.9MB 697ms 33ms dart/exe 3.7.3
v 1.v 796ms 22ms 28.9MB 780ms 0ms v/clang+gc 0.4.10
nim 2.nim 836ms 40ms 34.9MB 817ms 7ms nim 2.2.4
csharp 1.cs 937ms 10ms 185.4MB 937ms 137ms dotnet 9.0.300
nim 2.nim 971ms 5.9ms 35.2MB 953ms 3ms nim/clang 2.2.4
javascript 1-m.js 983ms 44ms 182.9MB 1513ms 227ms bun 1.2.13
typescript 1.ts 1042ms 14ms 414.3MB 1010ms 187ms deno 2.3.3
javascript 1.js 1066ms 5.1ms 468.4MB 1000ms 220ms node 24.0.2
csharp 1.cs 1089ms 203ms 175.6MB 1003ms 140ms dotnet/aot 9.0.300
java 2.java 1195ms 46ms 1101.7MB 577ms 787ms openjdk/zgc 21
python 1.py 1208ms 7.9ms 96.1MB 1143ms 53ms pypy 3.10.16
go 1.go 1249ms 9.0ms 55.0MB 1227ms 10ms tinygo 0.37.0
rust 4.rs 1281ms 13ms 33.8MB 1260ms 7ms rustc 1.87.0
haxe 1.hx 1312ms 6.5ms 144.0MB 1500ms 67ms haxe/cpp 4.3.6
crystal 1.cr 1320ms 17ms 64.2MB 1293ms 10ms crystal 1.16.3
rust 5.rs 1340ms 6.3ms 33.8MB 1317ms 10ms rustc 1.87.0
rust 3.rs 1496ms 49ms 49.8MB 1463ms 17ms rustc 1.87.0
csharp 1.cs 1663ms 38ms 98.4MB 1863ms 183ms mono 6.12.0
d 1.d 1782ms 3.3ms 312.5MB 1753ms 37ms ldc2 1.40.1
wasm 4.rs 1799ms 13ms 33.8MB 1780ms 10ms wasmtime 32.0.0
wasm 5.rs 1807ms 26ms 33.8MB 1787ms 3ms wasmtime 32.0.0
zig 1.zig 1831ms 43ms 49.0MB 1800ms 17ms zig 0.14.0
wasm 3.rs 1837ms 50ms 49.8MB 1807ms 17ms wasmtime 32.0.0
chapel 4.chpl 1952ms 9.9ms 62.3MB 1943ms 3ms chpl 1.31.0
chapel 3.chpl 2127ms 36ms 62.3MB 2120ms 0ms chpl 1.31.0
v 1.v 2199ms 17ms 2086.6MB 1293ms 890ms v/clang 0.4.10
odin 1.odin 2353ms 5.8ms 49.5MB 2323ms 17ms odin 2024
go 1-m.go 2386ms 8.7ms 41.6MB 5307ms 40ms go 1.24.3
swift 1.swift 2689ms 59ms 53.8MB 2653ms 20ms swift 6.1.0
ocaml 1.ml 3022ms 19ms 157.1MB 2943ms 60ms ocaml 5.3.0
d 1.d 3057ms 15ms 314.4MB 3227ms 60ms dmd 2.111.0
lua 1.lua 3557ms 39ms 172.9MB 3410ms 133ms luajit 2.1.0-beta3
kotlin 1.kt 4175ms 24ms 143.7MB 4367ms 73ms kotlin/native 2.1.20
haxe 2.hx 4437ms 43ms 495.1MB 4973ms 263ms haxe/cpp 4.3.6
ruby 1-m.rb 4550ms 58ms 807.5MB 6423ms 470ms truffleruby 24.2.1
ruby 1.rb 4702ms 91ms 150.6MB 4603ms 87ms ruby/yjit 3.4.4
acton 1.act timeout 0.0ms 67.0MB 5913ms 87ms actonc 0.25.0
haxe 1.hx timeout 0.0ms 48.6MB 5723ms 387ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 83.2MB 5100ms 680ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 50.4MB 7817ms 433ms haxe/hl/jit 1.15.0
haxe 2.hx timeout 0.0ms 130.9MB 7407ms 767ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 104.9MB 4953ms 37ms lua 5.4.7
perl 1.pl timeout 0.0ms 77.8MB 4960ms 27ms perl 5.40.2
php 1.php timeout 0.0ms 141.8MB 4960ms 27ms php 8.2.28
python 1.py timeout 0.0ms 40.9MB 4963ms 20ms cpython 3.13.3
python 1.py timeout 0.0ms 40.5MB 4757ms 230ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 70.4MB 4947ms 40ms ruby 3.4.4

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 71ms 2.0ms 4.6MB 60ms 0ms v/clang+gc 0.4.10
dart 1.dart 75ms 0.6ms 42.8MB 53ms 13ms dart/exe 3.7.3
nim 2.nim 77ms 1.2ms 5.5MB 70ms 0ms nim 2.2.4
haxe 1.hx 91ms 2.9ms 25.6MB 87ms 10ms haxe/cpp 4.3.6
nim 2.nim 93ms 2.7ms 5.8MB 80ms 0ms nim/clang 2.2.4
python 1.py 97ms 2.2ms 68.8MB 70ms 13ms pypy 3.10.16
javascript 1.js 102ms 0.9ms 77.4MB 83ms 23ms bun 1.2.13
crystal 1.cr 107ms 0.7ms 10.9MB 97ms 0ms crystal 1.16.3
go 1.go 113ms 1.7ms 5.6MB 100ms 0ms tinygo 0.37.0
rust 4.rs 118ms 0.3ms 5.6MB 110ms 0ms rustc 1.87.0
kotlin 1.kt 121ms 0.9ms 159.3MB 150ms 30ms kotlin/jvm 21
java 2.java 128ms 1.6ms 167.0MB 157ms 33ms openjdk 21
rust 5.rs 128ms 5.4ms 5.8MB 117ms 0ms rustc 1.87.0
javascript 1.js 130ms 2.5ms 80.7MB 130ms 27ms node 24.0.2
typescript 1.ts 131ms 1.2ms 79.1MB 127ms 23ms deno 2.3.3
java 2.java 133ms 5.7ms 96.5MB 163ms 30ms openjdk 23
rust 3.rs 142ms 6.5ms 7.8MB 130ms 0ms rustc 1.87.0
csharp 1.cs 142ms 2.5ms 44.0MB 123ms 10ms mono 6.12.0
java 2-m.java 152ms 7.0ms 215.4MB 227ms 57ms graal/jvm 17.0.8
zig 1.zig 155ms 3.9ms 7.0MB 143ms 0ms zig 0.14.0
csharp 1.cs 161ms 19ms 31.8MB 100ms 30ms dotnet/aot 9.0.300
d 1.d 167ms 2.7ms 207.7MB 140ms 13ms ldc2 1.40.1
wasm 5.rs 170ms 0.4ms 19.8MB 157ms 0ms wasmtime 32.0.0
wasm 3.rs 172ms 3.8ms 21.7MB 160ms 0ms wasmtime 32.0.0
wasm 4.rs 172ms 1.7ms 19.7MB 160ms 0ms wasmtime 32.0.0
chapel 4.chpl 184ms 1.8ms 30.3MB 180ms 0ms chpl 1.31.0
chapel 3.chpl 186ms 1.6ms 32.3MB 183ms 0ms chpl 1.31.0
csharp 1.cs 203ms 9.4ms 50.0MB 160ms 37ms dotnet 9.0.300
go 1-m.go 210ms 2.2ms 8.1MB 370ms 10ms go 1.24.3
v 1.v 216ms 3.7ms 197.9MB 113ms 87ms v/clang 0.4.10
ocaml 1.ml 219ms 1.7ms 19.1MB 200ms 3ms ocaml 5.3.0
odin 1.odin 221ms 2.6ms 7.5MB 210ms 0ms odin 2024
kotlin 1.kt 235ms 15ms 17.6MB 240ms 7ms kotlin/native 2.1.20
swift 1.swift 241ms 1.8ms 11.8MB 230ms 0ms swift 6.1.0
d 1.d 262ms 1.0ms 210.5MB 233ms 17ms dmd 2.111.0
lua 1.lua 292ms 2.5ms 15.8MB 270ms 7ms luajit 2.1.0-beta3
java 2.java 308ms 9.8ms 241.5MB 170ms 193ms openjdk/zgc 21
haxe 2.hx 397ms 15ms 58.1MB 437ms 23ms haxe/cpp 4.3.6
python 1.py 476ms 3.5ms 11.9MB 453ms 10ms pyston 3.8.12
ruby 1.rb 493ms 7.5ms 20.3MB 467ms 10ms ruby/yjit 3.4.4
ruby 1-m.rb 536ms 62ms 418.0MB 1057ms 167ms truffleruby 24.2.1
php 1.php 620ms 5.0ms 62.6MB 587ms 20ms php 8.2.28
haxe 1.hx 642ms 4.2ms 8.8MB 613ms 47ms haxe/hl/c 4.3.6
haxe 1.hx 698ms 13ms 11.2MB 767ms 57ms haxe/hl/jit 1.15.0
python 1.py 736ms 14ms 12.8MB 723ms 0ms cpython 3.13.3
lua 1.lua 818ms 6.5ms 17.0MB 800ms 0ms lua 5.4.7
acton 1.act 866ms 49ms 12.1MB 997ms 63ms actonc 0.25.0
ruby 1.rb 939ms 7.1ms 19.5MB 917ms 13ms ruby 3.4.4
haxe 2.hx 944ms 9.8ms 13.7MB 837ms 147ms haxe/hl/c 4.3.6
haxe 2.hx 1238ms 51ms 25.0MB 1300ms 173ms haxe/hl/jit 1.15.0
perl 1.pl 1811ms 13ms 14.4MB 1797ms 0ms perl 5.40.2