All binarytrees problem benchmarks

Current benchmark data was generated on Wed Jan 22 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 467ms 1.5ms 646.0MB 567ms 97ms openjdk 23
java 2-m.java 468ms 12ms 645.0MB 687ms 90ms graal/jvm 17.0.8
kotlin 1.kt 487ms 33ms 1217.6MB 527ms 123ms kotlin/jvm 21
java 2.java 498ms 2.1ms 572.9MB 563ms 113ms openjdk 21
dart 1.dart 711ms 2.7ms 80.8MB 680ms 37ms dart/exe 3.6.1
v 1.v 780ms 6.7ms 22.1MB 760ms 0ms v/clang+gc 0.4.9
nim 2.nim 781ms 16ms 34.9MB 757ms 10ms nim 2.2.0
csharp 1.cs 912ms 14ms 187.1MB 903ms 140ms dotnet/aot 9.0.102
javascript 1-m.js 950ms 61ms 187.4MB 1437ms 247ms bun 1.1.45
nim 2.nim 959ms 4.6ms 35.2MB 943ms 3ms nim/clang 2.2.0
csharp 1.cs 964ms 9.3ms 206.6MB 947ms 153ms dotnet 9.0.102
java 2.java 1170ms 8.1ms 1044.5MB 570ms 760ms openjdk/zgc 21
python 1.py 1189ms 1.9ms 95.8MB 1113ms 57ms pypy 3.10.14
rust 4.rs 1246ms 3.8ms 33.8MB 1220ms 13ms rustc 1.84.0
javascript 1-m.js 1251ms 9.3ms 276.4MB 2177ms 160ms node 23.6.0
typescript 1-m.ts 1259ms 9.0ms 249.6MB 2227ms 137ms deno 2.1.7
crystal 1.cr 1316ms 80ms 64.1MB 1290ms 10ms crystal 1.15.0
haxe 1.hx 1321ms 20ms 145.9MB 1507ms 70ms haxe/cpp 4.3.6
rust 5.rs 1349ms 11ms 33.8MB 1327ms 7ms rustc 1.84.0
rust 3.rs 1475ms 58ms 49.8MB 1443ms 17ms rustc 1.84.0
d 1.d 1725ms 4.6ms 312.6MB 1680ms 47ms ldc2 1.40.0
zig 1.zig 1729ms 12ms 49.1MB 1700ms 13ms zig 0.13.0
wasm 3.rs 1735ms 38ms 51.3MB 1700ms 17ms wasmtime 29.0.1
csharp 1.cs 1752ms 85ms 103.6MB 1933ms 253ms mono 6.12.0
wasm 4.rs 1755ms 3.5ms 35.3MB 1730ms 13ms wasmtime 29.0.1
wasm 5.rs 1769ms 18ms 37.2MB 1753ms 3ms wasmtime 29.0.1
chapel 4.chpl 1949ms 7.9ms 66.2MB 1943ms 0ms chpl 1.31.0
chapel 3.chpl 2033ms 5.5ms 66.3MB 2020ms 3ms chpl 1.31.0
v 1.v 2142ms 22ms 2086.6MB 1273ms 850ms v/clang 0.4.9
odin 1.odin 2328ms 19ms 49.5MB 2293ms 20ms odin 2024
go 1-m.go 2667ms 12ms 46.1MB 5630ms 43ms go 1.23.5
d 1.d 2672ms 23ms 314.9MB 2857ms 43ms dmd 2.109.1
swift 1.swift 2911ms 5.8ms 53.9MB 2883ms 17ms swift 6.0.3
ocaml 1.ml 2977ms 13ms 132.6MB 2900ms 60ms ocaml 5.3.0
kotlin 1-m.kt 3121ms 31ms 248.4MB 5273ms 667ms kotlin/native 1.8.21
go 1.go 3307ms 115ms 51.6MB 3293ms 0ms tinygo 0.35.0
lua 1.lua 3542ms 27ms 172.9MB 3407ms 117ms luajit 2.1.0-beta3
haxe 2.hx 4434ms 85ms 495.3MB 5067ms 240ms haxe/cpp 4.3.6
ruby 1.rb 4697ms 14ms 109.5MB 4587ms 90ms ruby/yjit 3.4.1
acton 1.act timeout 0.0ms 69.0MB 5947ms 107ms actonc 0.24.1
haxe 1.hx timeout 0.0ms 50.6MB 5500ms 407ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 85.0MB 5020ms 703ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 52.4MB 7647ms 430ms haxe/hl/jit 1.14.0
haxe 2.hx timeout 0.0ms 133.0MB 7440ms 810ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 104.9MB 4943ms 40ms lua 5.4.7
perl 1.pl timeout 0.0ms 77.8MB 4960ms 27ms perl 5.40.1
php 1.php timeout 0.0ms 141.9MB 4957ms 23ms php 8.2.27
python 1.py timeout 0.0ms 40.9MB 4970ms 17ms cpython 3.13.1
python 1.py timeout 0.0ms 40.6MB 4760ms 227ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 70.1MB 4937ms 50ms ruby 3.4.1
ruby 1.rb timeout 0.0ms 782.5MB 6640ms 683ms truffleruby 24.1.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 70ms 2.4ms 4.6MB 57ms 0ms v/clang+gc 0.4.9
nim 2.nim 72ms 1.1ms 5.5MB 60ms 0ms nim 2.2.0
dart 1.dart 77ms 1.0ms 42.6MB 57ms 10ms dart/exe 3.6.1
nim 2.nim 91ms 1.4ms 5.8MB 80ms 0ms nim/clang 2.2.0
haxe 1.hx 94ms 2.6ms 27.5MB 90ms 7ms haxe/cpp 4.3.6
javascript 1.js 95ms 0.8ms 79.4MB 77ms 23ms bun 1.1.45
python 1.py 96ms 2.4ms 68.1MB 67ms 20ms pypy 3.10.14
kotlin 1.kt 99ms 1.2ms 158.3MB 103ms 30ms kotlin/jvm 21
crystal 1.cr 110ms 9.3ms 10.9MB 100ms 0ms crystal 1.15.0
csharp 1.cs 117ms 2.5ms 41.9MB 80ms 30ms dotnet/aot 9.0.102
rust 4.rs 122ms 1.4ms 5.8MB 110ms 0ms rustc 1.84.0
rust 5.rs 124ms 0.7ms 5.8MB 110ms 0ms rustc 1.84.0
typescript 1.ts 125ms 1.2ms 81.3MB 117ms 37ms deno 2.1.7
java 2.java 126ms 6.8ms 96.2MB 147ms 40ms openjdk 23
javascript 1.js 127ms 2.0ms 82.4MB 117ms 33ms node 23.6.0
java 2.java 127ms 1.9ms 168.9MB 160ms 23ms openjdk 21
rust 3.rs 139ms 4.3ms 7.8MB 123ms 3ms rustc 1.84.0
zig 1.zig 146ms 1.2ms 7.1MB 137ms 0ms zig 0.13.0
java 2-m.java 150ms 3.7ms 231.2MB 210ms 67ms graal/jvm 17.0.8
csharp 1.cs 151ms 2.8ms 46.3MB 127ms 10ms mono 6.12.0
d 1.d 161ms 3.0ms 209.0MB 130ms 17ms ldc2 1.40.0
wasm 5.rs 170ms 0.9ms 21.3MB 160ms 0ms wasmtime 29.0.1
wasm 4.rs 171ms 2.2ms 23.3MB 160ms 0ms wasmtime 29.0.1
wasm 3.rs 172ms 6.1ms 23.3MB 160ms 3ms wasmtime 29.0.1
chapel 4.chpl 191ms 2.9ms 36.4MB 180ms 0ms chpl 1.31.0
chapel 3.chpl 199ms 3.7ms 34.3MB 187ms 3ms chpl 1.31.0
csharp 1.cs 204ms 17ms 64.6MB 153ms 37ms dotnet 9.0.102
v 1.v 208ms 1.3ms 197.5MB 120ms 70ms v/clang 0.4.9
ocaml 1.ml 214ms 3.1ms 19.2MB 197ms 3ms ocaml 5.3.0
odin 1.odin 230ms 20ms 7.5MB 220ms 0ms odin 2024
d 1.d 231ms 1.5ms 210.0MB 197ms 20ms dmd 2.109.1
go 1.go 232ms 1.0ms 7.0MB 220ms 0ms tinygo 0.35.0
go 1-m.go 238ms 1.1ms 9.8MB 397ms 7ms go 1.23.5
swift 1.swift 239ms 4.8ms 12.0MB 220ms 0ms swift 6.0.3
kotlin 1-m.kt 266ms 1.2ms 28.5MB 413ms 67ms kotlin/native 1.8.21
lua 1.lua 291ms 1.8ms 15.8MB 267ms 3ms luajit 2.1.0-beta3
java 2.java 307ms 4.8ms 241.9MB 163ms 197ms openjdk/zgc 21
haxe 2.hx 406ms 6.6ms 58.3MB 430ms 37ms haxe/cpp 4.3.6
ruby 1.rb 478ms 0.8ms 20.4MB 460ms 7ms ruby/yjit 3.4.1
python 1.py 486ms 19ms 11.9MB 457ms 13ms pyston 3.8.12
ruby 1-m.rb 593ms 65ms 442.1MB 1223ms 143ms truffleruby 24.1.2
php 1.php 619ms 7.3ms 62.7MB 590ms 13ms php 8.2.27
haxe 1.hx 633ms 3.4ms 10.8MB 597ms 53ms haxe/hl/c 4.3.6
haxe 1.hx 685ms 25ms 13.2MB 743ms 57ms haxe/hl/jit 1.14.0
python 1.py 705ms 9.2ms 12.6MB 693ms 0ms cpython 3.13.1
lua 1.lua 819ms 1.8ms 16.9MB 803ms 7ms lua 5.4.7
acton 1.act 840ms 40ms 12.0MB 967ms 77ms actonc 0.24.1
haxe 2.hx 927ms 18ms 15.7MB 807ms 160ms haxe/hl/c 4.3.6
ruby 1.rb 945ms 11ms 19.6MB 920ms 13ms ruby 3.4.1
haxe 2.hx 1160ms 86ms 27.0MB 1173ms 200ms haxe/hl/jit 1.14.0
perl 1.pl 1798ms 12ms 14.4MB 1787ms 0ms perl 5.40.1