All binarytrees problem benchmarks

Current benchmark data was generated on Tue Jul 01 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 476ms 14ms 573.9MB 563ms 97ms openjdk 21
java 2.java 481ms 2.8ms 624.6MB 587ms 103ms openjdk 23
java 2-m.java 481ms 16ms 643.1MB 673ms 133ms graal/jvm 17.0.8
kotlin 1.kt 488ms 8.7ms 575.8MB 583ms 93ms kotlin/jvm 21
dart 1.dart 755ms 6.7ms 80.9MB 730ms 33ms dart/exe 3.8.1
nim 2.nim 819ms 29ms 34.4MB 800ms 0ms nim 2.2.4
v 1.v 846ms 4.8ms 22.1MB 833ms 0ms v/clang+gc 0.4.11
nim 2.nim 968ms 6.2ms 35.2MB 950ms 3ms nim/clang 2.2.4
csharp 1.cs 987ms 1.3ms 197.6MB 1000ms 140ms dotnet 9.0.301
javascript 1-m.js 998ms 4.7ms 166.9MB 1570ms 240ms bun 1.2.17
csharp 1.cs 1008ms 13ms 179.9MB 1017ms 137ms dotnet/aot 9.0.301
typescript 1.ts 1050ms 6.1ms 396.1MB 1003ms 197ms deno 2.3.7
javascript 1.js 1086ms 11ms 469.4MB 990ms 243ms node 24.3.0
python 1.py 1158ms 1.0ms 96.1MB 1093ms 53ms pypy 3.10.16
java 2.java 1212ms 29ms 1064.1MB 593ms 787ms openjdk/zgc 21
crystal 1.cr 1302ms 4.1ms 64.2MB 1273ms 17ms crystal 1.16.3
rust 4.rs 1316ms 18ms 33.6MB 1293ms 10ms rustc 1.88.0
haxe 1.hx 1350ms 7.6ms 143.9MB 1543ms 67ms haxe/cpp 4.3.6
rust 5.rs 1480ms 41ms 33.8MB 1457ms 7ms rustc 1.88.0
rust 3.rs 1534ms 41ms 49.8MB 1507ms 17ms rustc 1.88.0
csharp 1.cs 1685ms 31ms 103.5MB 1857ms 217ms mono 6.12.0
wasm 5.rs 1766ms 30ms 36.0MB 1747ms 7ms wasmtime 34.0.1
wasm 4.rs 1838ms 15ms 34.0MB 1817ms 10ms wasmtime 34.0.1
wasm 3.rs 1880ms 33ms 50.0MB 1850ms 13ms wasmtime 34.0.1
go 1.go 1928ms 4.1ms 51.9MB 1907ms 7ms tinygo 0.38.0
chapel 4.chpl 1970ms 8.4ms 62.3MB 1960ms 3ms chpl 1.31.0
chapel 3.chpl 2062ms 35ms 62.3MB 2057ms 0ms chpl 1.31.0
zig 1.zig 2079ms 56ms 49.0MB 2047ms 17ms zig 0.14.1
v 1.v 2181ms 5.3ms 2086.6MB 1273ms 893ms v/clang 0.4.11
d 1.d 2206ms 5.4ms 312.8MB 2170ms 43ms ldc2 1.41.0
go 1-m.go 2394ms 16ms 46.3MB 5317ms 47ms go 1.24.4
odin 1.odin 2422ms 79ms 49.5MB 2390ms 20ms odin 2024
swift 1.swift 3027ms 21ms 53.8MB 2990ms 20ms swift 6.1.2
d 1.d 3040ms 21ms 314.5MB 3210ms 57ms dmd 2.111.0
ocaml 1.ml 3177ms 13ms 157.2MB 3097ms 63ms ocaml 5.3.0
lua 1.lua 3562ms 89ms 173.0MB 3437ms 113ms luajit 2.1.0-beta3
kotlin 1.kt 3941ms 160ms 145.0MB 4120ms 63ms kotlin/native 2.1.20
ruby 1-m.rb 4407ms 191ms 804.1MB 6390ms 450ms truffleruby 24.2.1
haxe 2.hx 4488ms 22ms 495.1MB 5047ms 253ms haxe/cpp 4.3.6
ruby 1.rb 4955ms 35ms 109.4MB 4853ms 87ms ruby/yjit 3.4.4
acton 1.act timeout 0.0ms 67.0MB 5903ms 87ms actonc 0.26.0
haxe 1.hx timeout 0.0ms 48.6MB 5730ms 390ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 83.0MB 5197ms 670ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 50.4MB 7673ms 410ms haxe/hl/jit 1.16.0
haxe 2.hx timeout 0.0ms 130.9MB 7593ms 773ms haxe/hl/jit 1.16.0
lua 1.lua timeout 0.0ms 105.0MB 4953ms 37ms lua 5.4.7
perl 1.pl timeout 0.0ms 77.8MB 4957ms 30ms perl 5.40.2
php 1.php timeout 0.0ms 141.6MB 4963ms 20ms php 8.2.28
python 1.py timeout 0.0ms 41.0MB 4963ms 17ms cpython 3.13.5
python 1.py timeout 0.0ms 40.5MB 4753ms 233ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 70.5MB 4940ms 40ms ruby 3.4.4

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 74ms 0.6ms 4.6MB 67ms 0ms v/clang+gc 0.4.11
dart 1.dart 77ms 0.9ms 42.8MB 53ms 13ms dart/exe 3.8.1
nim 2.nim 77ms 2.5ms 5.5MB 70ms 0ms nim 2.2.4
haxe 1.hx 91ms 0.4ms 25.6MB 83ms 10ms haxe/cpp 4.3.6
nim 2.nim 93ms 2.5ms 5.8MB 80ms 0ms nim/clang 2.2.4
python 1.py 93ms 0.2ms 68.8MB 67ms 17ms pypy 3.10.16
javascript 1.js 99ms 2.6ms 77.4MB 80ms 23ms bun 1.2.17
crystal 1.cr 109ms 2.8ms 11.0MB 100ms 0ms crystal 1.16.3
kotlin 1.kt 121ms 2.9ms 159.3MB 143ms 33ms kotlin/jvm 21
csharp 1.cs 122ms 5.7ms 36.6MB 90ms 30ms dotnet/aot 9.0.301
rust 4.rs 123ms 1.4ms 5.6MB 110ms 0ms rustc 1.88.0
rust 5.rs 126ms 1.2ms 5.8MB 117ms 0ms rustc 1.88.0
java 2-m.java 127ms 4.0ms 96.1MB 163ms 30ms openjdk 23
java 2-m.java 127ms 1.6ms 167.1MB 160ms 33ms openjdk 21
javascript 1.js 131ms 1.8ms 80.9MB 130ms 33ms node 24.3.0
typescript 1.ts 131ms 1.6ms 80.0MB 133ms 27ms deno 2.3.7
rust 3.rs 135ms 4.9ms 7.8MB 123ms 0ms rustc 1.88.0
csharp 1.cs 142ms 0.8ms 41.9MB 120ms 13ms mono 6.12.0
java 2-m.java 148ms 3.7ms 215.1MB 223ms 53ms graal/jvm 17.0.8
go 1.go 150ms 1.6ms 5.0MB 140ms 0ms tinygo 0.38.0
zig 1.zig 152ms 1.7ms 7.0MB 140ms 0ms zig 0.14.1
wasm 5.rs 167ms 1.1ms 20.1MB 150ms 0ms wasmtime 34.0.1
wasm 4.rs 174ms 1.7ms 20.0MB 160ms 3ms wasmtime 34.0.1
wasm 3.rs 179ms 2.1ms 22.1MB 163ms 0ms wasmtime 34.0.1
chapel 3.chpl 188ms 2.0ms 32.3MB 180ms 0ms chpl 1.31.0
chapel 4.chpl 196ms 20ms 32.3MB 190ms 0ms chpl 1.31.0
csharp 1.cs 203ms 6.4ms 50.0MB 157ms 33ms dotnet 9.0.301
d 1.d 207ms 3.1ms 207.9MB 183ms 13ms ldc2 1.41.0
v 1.v 208ms 1.1ms 196.4MB 117ms 77ms v/clang 0.4.11
go 1-m.go 209ms 0.3ms 8.0MB 367ms 13ms go 1.24.4
kotlin 1.kt 210ms 3.5ms 17.7MB 217ms 7ms kotlin/native 2.1.20
odin 1.odin 217ms 2.7ms 7.5MB 203ms 0ms odin 2024
ocaml 1.ml 234ms 3.5ms 19.2MB 217ms 0ms ocaml 5.3.0
swift 1.swift 244ms 5.4ms 11.6MB 230ms 0ms swift 6.1.2
d 1.d 262ms 1.5ms 210.9MB 233ms 13ms dmd 2.111.0
lua 1.lua 289ms 0.8ms 15.8MB 260ms 10ms luajit 2.1.0-beta3
java 2.java 301ms 3.4ms 241.5MB 157ms 200ms openjdk/zgc 21
haxe 2.hx 411ms 5.4ms 58.3MB 453ms 27ms haxe/cpp 4.3.6
python 1.py 477ms 1.2ms 11.9MB 453ms 13ms pyston 3.8.12
ruby 1.rb 505ms 6.5ms 20.3MB 480ms 10ms ruby/yjit 3.4.4
ruby 1-m.rb 570ms 55ms 424.9MB 1133ms 167ms truffleruby 24.2.1
php 1.php 614ms 0.1ms 62.7MB 583ms 17ms php 8.2.28
haxe 1.hx 668ms 23ms 8.7MB 637ms 50ms haxe/hl/c 4.3.6
haxe 1.hx 713ms 53ms 11.2MB 790ms 57ms haxe/hl/jit 1.16.0
python 1.py 718ms 3.5ms 13.0MB 707ms 0ms cpython 3.13.5
acton 1.act 825ms 24ms 12.1MB 950ms 73ms actonc 0.26.0
lua 1.lua 828ms 3.7ms 16.9MB 810ms 0ms lua 5.4.7
ruby 1.rb 967ms 21ms 19.5MB 943ms 10ms ruby 3.4.4
haxe 2.hx 979ms 37ms 13.6MB 883ms 150ms haxe/hl/c 4.3.6
haxe 2.hx 1273ms 68ms 25.0MB 1337ms 187ms haxe/hl/jit 1.16.0
perl 1.pl 1815ms 1.3ms 14.3MB 1800ms 0ms perl 5.40.2