All binarytrees problem benchmarks

Current benchmark data was generated on Sun Jun 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 455ms 6.3ms 576.1MB 557ms 80ms openjdk 21
java 2-m.java 462ms 6.4ms 643.1MB 673ms 90ms graal/jvm 17.0.8
java 2.java 470ms 9.4ms 639.7MB 570ms 97ms openjdk 23
kotlin 1.kt 507ms 12ms 574.5MB 603ms 97ms kotlin/jvm 21
dart 1.dart 706ms 4.7ms 80.9MB 673ms 37ms dart/exe 3.8.1
v 1.v 775ms 3.4ms 22.2MB 760ms 0ms v/clang+gc 0.4.10
nim 2.nim 779ms 1.2ms 34.4MB 760ms 3ms nim 2.2.4
csharp 1.cs 901ms 14ms 197.1MB 893ms 147ms dotnet 9.0.300
javascript 1-m.js 907ms 13ms 181.8MB 1350ms 187ms bun 1.2.15
nim 2.nim 963ms 9.3ms 35.2MB 940ms 10ms nim/clang 2.2.4
typescript 1.ts 1047ms 18ms 416.9MB 1003ms 190ms deno 2.3.5
javascript 1.js 1049ms 5.1ms 469.9MB 970ms 217ms node 24.1.0
csharp 1.cs 1061ms 140ms 164.4MB 963ms 127ms dotnet/aot 9.0.300
go 1.go 1201ms 11ms 55.0MB 1180ms 10ms tinygo 0.37.0
java 2.java 1207ms 20ms 1063.7MB 580ms 793ms openjdk/zgc 21
python 1.py 1209ms 11ms 96.2MB 1140ms 50ms pypy 3.10.16
crystal 1.cr 1219ms 8.5ms 64.2MB 1200ms 10ms crystal 1.16.3
rust 4.rs 1263ms 18ms 33.6MB 1243ms 3ms rustc 1.87.0
haxe 1.hx 1321ms 15ms 143.9MB 1510ms 67ms haxe/cpp 4.3.6
rust 5.rs 1337ms 12ms 33.8MB 1313ms 7ms rustc 1.87.0
rust 3.rs 1434ms 36ms 49.8MB 1403ms 17ms rustc 1.87.0
zig 1.zig 1718ms 14ms 49.0MB 1683ms 20ms zig 0.14.1
csharp 1.cs 1725ms 105ms 103.6MB 1900ms 227ms mono 6.12.0
wasm 5.rs 1744ms 15ms 33.9MB 1727ms 10ms wasmtime 33.0.0
d 1.d 1768ms 21ms 312.6MB 1733ms 40ms ldc2 1.40.1
wasm 3.rs 1791ms 35ms 49.9MB 1760ms 13ms wasmtime 33.0.0
wasm 4.rs 1806ms 5.3ms 33.9MB 1783ms 10ms wasmtime 33.0.0
chapel 4.chpl 1954ms 6.5ms 62.3MB 1947ms 0ms chpl 1.31.0
chapel 3.chpl 2047ms 28ms 60.3MB 2040ms 3ms chpl 1.31.0
v 1.v 2160ms 14ms 2086.6MB 1263ms 880ms v/clang 0.4.10
odin 1.odin 2307ms 6.3ms 49.5MB 2280ms 13ms odin 2024
go 1-m.go 2364ms 13ms 41.9MB 5290ms 33ms go 1.24.3
swift 1.swift 2555ms 26ms 53.8MB 2523ms 20ms swift 6.1.2
ocaml 1.ml 2989ms 28ms 157.2MB 2907ms 67ms ocaml 5.3.0
d 1.d 3074ms 138ms 314.1MB 3237ms 53ms dmd 2.111.0
lua 1.lua 3411ms 55ms 172.9MB 3287ms 110ms luajit 2.1.0-beta3
kotlin 1.kt 3832ms 23ms 145.7MB 4013ms 63ms kotlin/native 2.1.20
haxe 2.hx 4384ms 33ms 495.3MB 4913ms 253ms haxe/cpp 4.3.6
ruby 1-m.rb 4549ms 73ms 838.0MB 6403ms 490ms truffleruby 24.2.1
ruby 1.rb 4697ms 113ms 110.0MB 4607ms 77ms ruby/yjit 3.4.4
acton 1.act timeout 0.0ms 67.0MB 5877ms 77ms actonc 0.25.0
haxe 1.hx timeout 0.0ms 48.6MB 5477ms 433ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 83.0MB 4890ms 730ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 51.1MB 7413ms 413ms haxe/hl/jit 1.15.0
haxe 2.hx timeout 0.0ms 130.9MB 7360ms 757ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 104.9MB 4947ms 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.6MB 4967ms 20ms php 8.2.28
python 1.py timeout 0.0ms 40.9MB 4973ms 13ms cpython 3.13.3
python 1.py timeout 0.0ms 40.7MB 4747ms 240ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 70.4MB 4953ms 37ms ruby 3.4.4

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 70ms 1.1ms 4.6MB 60ms 0ms v/clang+gc 0.4.10
dart 1.dart 74ms 0.3ms 43.0MB 50ms 13ms dart/exe 3.8.1
nim 2.nim 75ms 4.0ms 5.5MB 63ms 0ms nim 2.2.4
nim 2.nim 91ms 2.7ms 5.8MB 80ms 0ms nim/clang 2.2.4
haxe 1.hx 92ms 2.1ms 25.6MB 90ms 10ms haxe/cpp 4.3.6
python 1.py 97ms 3.0ms 68.8MB 70ms 13ms pypy 3.10.16
javascript 1.js 100ms 1.6ms 77.6MB 80ms 27ms bun 1.2.15
crystal 1.cr 105ms 2.8ms 10.9MB 97ms 0ms crystal 1.16.3
go 1.go 113ms 2.0ms 5.6MB 100ms 0ms tinygo 0.37.0
rust 4.rs 122ms 2.1ms 5.8MB 110ms 0ms rustc 1.87.0
javascript 1.js 123ms 1.2ms 80.3MB 127ms 20ms node 24.1.0
kotlin 1.kt 124ms 1.0ms 159.2MB 150ms 27ms kotlin/jvm 21
java 2.java 124ms 1.6ms 167.0MB 157ms 27ms openjdk 21
rust 5.rs 125ms 2.8ms 5.8MB 113ms 0ms rustc 1.87.0
java 2.java 129ms 5.5ms 98.0MB 163ms 23ms openjdk 23
typescript 1.ts 129ms 2.0ms 79.4MB 130ms 27ms deno 2.3.5
rust 3.rs 137ms 1.7ms 7.8MB 130ms 0ms rustc 1.87.0
csharp 1.cs 141ms 1.3ms 46.1MB 120ms 10ms mono 6.12.0
java 2-m.java 143ms 3.2ms 224.5MB 217ms 53ms graal/jvm 17.0.8
zig 1.zig 150ms 2.1ms 7.0MB 140ms 0ms zig 0.14.1
d 1.d 166ms 2.1ms 207.9MB 140ms 17ms ldc2 1.40.1
wasm 5.rs 170ms 3.5ms 20.1MB 160ms 0ms wasmtime 33.0.0
wasm 3.rs 174ms 3.4ms 21.9MB 160ms 0ms wasmtime 33.0.0
csharp 1.cs 175ms 44ms 31.8MB 100ms 33ms dotnet/aot 9.0.300
chapel 4.chpl 185ms 3.6ms 32.4MB 180ms 0ms chpl 1.31.0
chapel 3.chpl 185ms 0.6ms 32.2MB 180ms 0ms chpl 1.31.0
csharp 1.cs 191ms 4.8ms 49.7MB 147ms 37ms dotnet 9.0.300
wasm 4.rs 195ms 7.7ms 19.9MB 180ms 0ms wasmtime 33.0.0
v 1.v 206ms 5.6ms 197.9MB 120ms 73ms v/clang 0.4.10
kotlin 1.kt 208ms 3.8ms 17.6MB 217ms 0ms kotlin/native 2.1.20
go 1-m.go 209ms 2.8ms 8.1MB 367ms 10ms go 1.24.3
ocaml 1.ml 218ms 4.7ms 19.2MB 203ms 0ms ocaml 5.3.0
odin 1.odin 221ms 4.9ms 7.5MB 207ms 0ms odin 2024
swift 1.swift 232ms 3.0ms 11.9MB 220ms 0ms swift 6.1.2
d 1.d 262ms 3.0ms 211.1MB 233ms 20ms dmd 2.111.0
lua 1.lua 287ms 0.8ms 15.8MB 267ms 7ms luajit 2.1.0-beta3
java 2.java 299ms 4.1ms 241.7MB 157ms 197ms openjdk/zgc 21
haxe 2.hx 398ms 1.3ms 58.3MB 427ms 23ms haxe/cpp 4.3.6
python 1.py 478ms 6.6ms 11.9MB 453ms 13ms pyston 3.8.12
ruby 1.rb 489ms 7.3ms 20.3MB 463ms 10ms ruby/yjit 3.4.4
ruby 1-m.rb 502ms 12ms 405.6MB 983ms 153ms truffleruby 24.2.1
php 1.php 612ms 2.9ms 62.7MB 577ms 20ms php 8.2.28
haxe 1.hx 637ms 1.2ms 8.8MB 613ms 43ms haxe/hl/c 4.3.6
haxe 1.hx 671ms 6.2ms 11.2MB 740ms 53ms haxe/hl/jit 1.15.0
python 1.py 737ms 8.4ms 12.8MB 723ms 0ms cpython 3.13.3
acton 1.act 814ms 23ms 12.0MB 937ms 67ms actonc 0.25.0
lua 1.lua 818ms 12ms 16.9MB 803ms 0ms lua 5.4.7
haxe 2.hx 918ms 2.5ms 13.7MB 813ms 147ms haxe/hl/c 4.3.6
haxe 2.hx 922ms 6.6ms 25.0MB 903ms 157ms haxe/hl/jit 1.15.0
ruby 1.rb 948ms 7.8ms 19.5MB 927ms 10ms ruby 3.4.4
perl 1.pl 1815ms 12ms 14.4MB 1800ms 0ms perl 5.40.2