All binarytrees problem benchmarks

Current benchmark data was generated on Thu Feb 01 2024, 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 450ms 3.2ms 574.3MB 543ms 87ms openjdk 21
java 2-m.java 462ms 4.6ms 646.8MB 650ms 110ms graal/jvm 17.0.8
java 2.java 462ms 4.8ms 588.2MB 563ms 97ms openjdk 23
kotlin 1.kt 469ms 5.8ms 575.8MB 550ms 80ms kotlin/jvm 21
dart 1.dart 702ms 2.0ms 80.5MB 660ms 43ms dart/exe 3.2.6
v 1.v 827ms 23ms 37.1MB 803ms 7ms v/clang+gc 0.4.4
nim 2.nim 835ms 5.3ms 34.4MB 813ms 7ms nim 2.0.2
javascript 1-m.js 939ms 14ms 247.7MB 1473ms 283ms bun 1.0.25
nim 2.nim 1170ms 1.0ms 34.7MB 1150ms 7ms nim/clang 2.0.2
java 2.java 1178ms 0.9ms 1055.6MB 607ms 733ms openjdk/zgc 21
csharp 1.cs 1213ms 21ms 132.8MB 1443ms 180ms dotnet/aot 8.0.101
haxe 1.hx 1346ms 37ms 146.5MB 1547ms 73ms haxe/cpp 4.3.3
rust 4.rs 1350ms 24ms 33.8MB 1323ms 13ms rustc 1.75.0
crystal 1.cr 1363ms 1.9ms 64.6MB 1337ms 10ms crystal 1.11.2
javascript 1-m.js 1395ms 30ms 261.0MB 2187ms 363ms node 21.6.1
typescript 1-m.ts 1432ms 22ms 190.5MB 2300ms 300ms deno 1.40.2
rust 5.rs 1432ms 16ms 33.8MB 1407ms 7ms rustc 1.75.0
rust 3.rs 1491ms 51ms 49.9MB 1463ms 13ms rustc 1.75.0
python 1.py 1568ms 90ms 79.1MB 1510ms 40ms pypy 3.10.13
csharp 1.cs 1714ms 70ms 109.8MB 1903ms 220ms mono 6.12.0
d 1.d 1779ms 2.9ms 312.5MB 1747ms 33ms ldc2 1.36.0
zig 1.zig 1782ms 14ms 49.1MB 1747ms 17ms zig 0.12.0-dev.2341+92211135f
wasm 3.rs 1832ms 18ms 82.0MB 1817ms 23ms node 18.19.0
csharp 1.cs 1868ms 70ms 2126.1MB 710ms 1117ms dotnet 8.0.101
wasm 5.rs 1873ms 10ms 65.7MB 1860ms 20ms node 18.19.0
wasm 4.rs 1910ms 6.6ms 34.9MB 1893ms 3ms wasmtime 17.0.0
chapel 4.chpl 1944ms 12ms 66.2MB 1933ms 7ms chpl 1.31.0
wasm 3.rs 1959ms 30ms 50.9MB 1923ms 20ms wasmtime 17.0.0
wasm 5.rs 2022ms 10ms 34.9MB 1997ms 3ms wasmtime 17.0.0
swift 1.swift 2063ms 7.6ms 56.6MB 2023ms 23ms swift 5.9.2
chapel 3.chpl 2115ms 17ms 66.3MB 2100ms 0ms chpl 1.31.0
wasm 4.rs 2156ms 42ms 66.8MB 2137ms 20ms node 18.19.0
v 1.v 2194ms 3.1ms 2086.6MB 1293ms 883ms v/clang 0.4.4
d 1.d 2563ms 15ms 314.0MB 2717ms 53ms dmd 2.106.1
go 1-m.go 2665ms 13ms 44.2MB 5553ms 47ms go 1.21.6
ocaml 1.ml 3017ms 20ms 150.6MB 2940ms 63ms ocaml 5.1.1
kotlin 1-m.kt 3056ms 54ms 248.5MB 5070ms 700ms kotlin/native 1.8.21
odin 1.odin 3283ms 20ms 49.8MB 3250ms 17ms odin 2024
lua 1.lua 3568ms 87ms 172.9MB 3433ms 120ms luajit 2.1.0-beta3
ruby 1.rb 4037ms 417ms 123.9MB 3920ms 100ms ruby/yjit 3.3.0
go 1.go 4172ms 25ms 51.6MB 4157ms 3ms tinygo 0.30.0
haxe 2.hx 4434ms 13ms 497.6MB 5017ms 237ms haxe/cpp 4.3.3
haxe 1.hx timeout 0.0ms 50.6MB 5550ms 417ms haxe/hl/c 4.3.3
haxe 2.hx timeout 0.0ms 85.0MB 4997ms 693ms haxe/hl/c 4.3.3
haxe 1.hx timeout 0.0ms 52.5MB 7810ms 447ms haxe/hl/jit 1.14.0
haxe 2.hx timeout 0.0ms 133.0MB 7413ms 843ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 105.0MB 4950ms 40ms lua 5.4.6
perl 1.pl timeout 0.0ms 77.8MB 4957ms 27ms perl 5.38.2
php 1.php timeout 0.0ms 141.7MB 4960ms 27ms php 8.2.14
python 1.py timeout 0.0ms 41.3MB 4977ms 10ms cpython 3.12.1
python 1.py timeout 0.0ms 40.5MB 4763ms 223ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 85.3MB 4930ms 53ms ruby 3.3.0
ruby 1.rb timeout 0.0ms 679.9MB 9080ms 607ms truffleruby 23.1.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 66ms 2.9ms 5.5MB 53ms 0ms v/clang+gc 0.4.4
dart 1.dart 75ms 0.5ms 42.4MB 57ms 10ms dart/exe 3.2.6
nim 2.nim 80ms 2.9ms 5.5MB 70ms 0ms nim 2.0.2
javascript 1.js 85ms 3.6ms 114.9MB 70ms 17ms bun 1.0.25
haxe 1.hx 92ms 3.5ms 28.1MB 87ms 10ms haxe/cpp 4.3.3
csharp 1.cs 92ms 2.7ms 29.1MB 93ms 13ms dotnet/aot 8.0.101
kotlin 1.kt 99ms 0.6ms 158.3MB 107ms 30ms kotlin/jvm 21
crystal 1.cr 104ms 0.1ms 11.4MB 93ms 0ms crystal 1.11.2
nim 2.nim 113ms 2.9ms 5.8MB 100ms 0ms nim/clang 2.0.2
python 1.py 116ms 0.7ms 62.6MB 80ms 20ms pypy 3.10.13
java 2.java 123ms 1.1ms 166.9MB 147ms 37ms openjdk 21
java 2-m.java 125ms 1.5ms 163.2MB 157ms 33ms openjdk 23
rust 5.rs 126ms 1.5ms 5.8MB 117ms 0ms rustc 1.75.0
rust 4.rs 129ms 0.4ms 5.8MB 117ms 0ms rustc 1.75.0
rust 3.rs 134ms 3.3ms 7.8MB 123ms 0ms rustc 1.75.0
typescript 1.ts 138ms 0.4ms 95.4MB 133ms 37ms deno 1.40.2
javascript 1.js 140ms 0.6ms 87.4MB 130ms 37ms node 21.6.1
csharp 1.cs 142ms 1.4ms 44.9MB 117ms 13ms mono 6.12.0
d 1.d 163ms 0.8ms 208.7MB 133ms 13ms ldc2 1.36.0
java 2-m.java 168ms 15ms 230.2MB 220ms 70ms graal/jvm 17.0.8
zig 1.zig 176ms 52ms 7.1MB 163ms 0ms zig 0.12.0-dev.2341+92211135f
wasm 4.rs 184ms 4.7ms 20.9MB 167ms 0ms wasmtime 17.0.0
wasm 3.rs 186ms 4.3ms 22.9MB 167ms 0ms wasmtime 17.0.0
chapel 4.chpl 191ms 2.3ms 36.3MB 180ms 7ms chpl 1.31.0
wasm 5.rs 194ms 1.5ms 20.9MB 180ms 0ms wasmtime 17.0.0
swift 1.swift 195ms 3.0ms 14.5MB 180ms 0ms swift 5.9.2
chapel 3.chpl 198ms 1.7ms 34.3MB 183ms 7ms chpl 1.31.0
wasm 3.rs 208ms 1.9ms 53.2MB 190ms 23ms node 18.19.0
wasm 5.rs 215ms 1.7ms 53.0MB 210ms 7ms node 18.19.0
ocaml 1.ml 222ms 2.9ms 18.8MB 203ms 3ms ocaml 5.1.1
d 1.d 224ms 4.1ms 210.7MB 193ms 13ms dmd 2.106.1
v 1.v 225ms 17ms 197.9MB 137ms 70ms v/clang 0.4.4
go 1-m.go 237ms 1.8ms 7.8MB 393ms 3ms go 1.21.6
wasm 4.rs 252ms 15ms 53.0MB 240ms 13ms node 18.19.0
kotlin 1-m.kt 270ms 4.6ms 28.5MB 430ms 60ms kotlin/native 1.8.21
csharp 1.cs 283ms 5.7ms 229.7MB 130ms 113ms dotnet 8.0.101
lua 1.lua 290ms 1.7ms 15.6MB 270ms 7ms luajit 2.1.0-beta3
odin 1.odin 298ms 6.1ms 7.6MB 280ms 0ms odin 2024
java 2.java 314ms 1.3ms 241.4MB 153ms 213ms openjdk/zgc 21
go 1.go 316ms 4.0ms 6.6MB 307ms 0ms tinygo 0.30.0
haxe 2.hx 396ms 10.0ms 60.8MB 427ms 17ms haxe/cpp 4.3.3
ruby 1.rb 408ms 6.3ms 36.4MB 367ms 27ms ruby/yjit 3.3.0
python 1.py 478ms 4.3ms 11.9MB 450ms 13ms pyston 3.8.12
php 1.php 625ms 4.3ms 63.0MB 593ms 20ms php 8.2.14
haxe 1.hx 640ms 0.3ms 10.9MB 600ms 53ms haxe/hl/c 4.3.3
haxe 1.hx 669ms 7.5ms 13.2MB 710ms 63ms haxe/hl/jit 1.14.0
python 1.py 732ms 6.5ms 13.1MB 713ms 0ms cpython 3.12.1
lua 1.lua 855ms 12ms 17.0MB 840ms 3ms lua 5.4.6
ruby 1.rb 856ms 5.9ms 36.4MB 813ms 20ms ruby 3.3.0
ruby 1-m.rb 910ms 25ms 437.3MB 2027ms 183ms truffleruby 23.1.2
haxe 2.hx 930ms 4.0ms 15.6MB 810ms 160ms haxe/hl/c 4.3.3
haxe 2.hx 1114ms 23ms 27.0MB 1120ms 183ms haxe/hl/jit 1.14.0
perl 1.pl 1805ms 29ms 14.1MB 1787ms 3ms perl 5.38.2