All binarytrees problem benchmarks

Current benchmark data was generated on Thu Jul 13 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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
kotlin 1.kt 639ms 9.7ms 412.9MB 660ms 77ms kotlin/jvm 17.0.2
java 2.java 672ms 7.4ms 412.4MB 670ms 97ms openjdk 20
java 2.java 673ms 14ms 413.9MB 690ms 80ms openjdk 22
java 2.java 799ms 50ms 666.8MB 807ms 187ms graal/jvm 17.0.7
dart 1.dart 932ms 12ms 85.5MB 893ms 40ms dart/exe 3.0.6
v 1.v 1082ms 11ms 37.1MB 1063ms 0ms v/clang 0.4.0
v 1.v 1092ms 6.8ms 37.0MB 1070ms 7ms v/clang+gc 0.4.0
javascript 1.js 1144ms 13ms 191.4MB 1403ms 47ms bun 0.6.14
csharp 1.cs 1238ms 15ms 384.0MB 1173ms 167ms dotnet/aot 7.0.306
java 2.java 1336ms 56ms 1147.9MB 903ms 630ms openjdk/zgc 20
python 1.py 1431ms 7.2ms 271.9MB 1300ms 110ms pypy 3.10.12
csharp 1.cs 1474ms 24ms 397.6MB 1343ms 190ms dotnet 7.0.306
rust 4.rs 1642ms 2.2ms 33.8MB 1623ms 3ms rustc 1.70.0
haxe 1.hx 1721ms 7.7ms 146.1MB 1883ms 80ms haxe/cpp 4.2.5
rust 5.rs 1724ms 5.8ms 33.9MB 1697ms 10ms rustc 1.70.0
crystal 1.cr 1788ms 5.5ms 64.4MB 1767ms 10ms crystal 1.9.0
typescript 1.ts 1826ms 4.2ms 180.2MB 2223ms 163ms deno 1.35.1
rust 3.rs 1918ms 21ms 49.9MB 1893ms 7ms rustc 1.70.0
nim 2.nim 1955ms 2.8ms 34.1MB 1930ms 10ms nim 1.6.14
wasm 3.rs 2048ms 5.9ms 60.1MB 2017ms 10ms wasmedgec 0.13.1
wasm 5.rs 2074ms 21ms 44.2MB 2047ms 10ms wasmedgec 0.13.1
nim 2.nim 2105ms 6.7ms 35.0MB 2087ms 7ms nim/clang 1.6.14
zig 1.zig 2111ms 26ms 49.1MB 2083ms 13ms zig 0.11.0-dev.3978+711b4e93e
csharp 1.cs 2201ms 41ms 104.3MB 2517ms 157ms mono 6.12.0
wasm 4.rs 2202ms 1.4ms 44.9MB 2170ms 13ms wasmedgec 0.13.1
d 1.d 2245ms 7.0ms 312.3MB 2157ms 90ms ldc2 1.32.2
wasm 3.rs 2272ms 23ms 48.1MB 2243ms 3ms wasmtime 10.0.1
chapel 4.chpl 2278ms 2.2ms 64.2MB 2247ms 20ms chpl 1.31.0
chapel 3.chpl 2393ms 13ms 50.2MB 2373ms 10ms chpl 1.31.0
swift 1.swift 2559ms 11ms 52.7MB 2533ms 10ms swift 5.8.1
wasm 3.rs 2717ms 81ms 80.1MB 2687ms 27ms node 18.16.1
wasm 4.rs 2770ms 28ms 65.4MB 2747ms 20ms node 18.16.1
wasm 5.rs 2774ms 20ms 65.1MB 2763ms 7ms node 18.16.1
wasm 5.rs 2817ms 17ms 32.3MB 2800ms 7ms wasmtime 10.0.1
wasm 4.rs 2933ms 20ms 32.2MB 2910ms 7ms wasmtime 10.0.1
d 1.d 3381ms 23ms 314.1MB 3427ms 87ms dmd 2.104.1
javascript 1.js 3424ms 30ms 266.2MB 2693ms 1280ms node 20.4.0
go 1.go 3509ms 41ms 45.0MB 5013ms 43ms go 1.20.6
odin 1.odin 4093ms 50ms 49.5MB 4060ms 13ms odin 2023
go 1.go 4400ms 25ms 50.6MB 4380ms 3ms tinygo 0.28.1
ocaml 1.ml 4948ms 10ms 153.4MB 4887ms 43ms ocaml 5.0.0
haxe 2.hx timeout 0.0ms 480.9MB 5583ms 243ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 48.6MB 4733ms 243ms haxe/hl/c 4.2.5
haxe 2.hx timeout 0.0ms 83.0MB 4383ms 600ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 49.0MB 4723ms 257ms haxe/hl/jit 1.13.0
haxe 2.hx timeout 0.0ms 130.2MB 4403ms 573ms haxe/hl/jit 1.13.0
kotlin 1.kt timeout 0.0ms 222.5MB 8533ms 983ms kotlin/native 1.8.21
lua 1.lua timeout 0.0ms 119.5MB 4953ms 27ms lua 5.4.4
lua 1.lua timeout 0.0ms 209.4MB 4930ms 50ms luajit 2.1.0-beta3
perl 1.pl timeout 0.0ms 77.5MB 4963ms 20ms perl 5.38.0
php 1.php timeout 0.0ms 141.1MB 4960ms 13ms php 8.2.8
python 1.py timeout 0.0ms 40.9MB 4970ms 10ms cpython 3.11.4
python 1.py timeout 0.0ms 40.3MB 4903ms 80ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 72.7MB 4953ms 33ms ruby 3.2.2
ruby 1.rb timeout 0.0ms 115.5MB 4917ms 63ms ruby/yjit 3.2.2
ruby 1.rb timeout 0.0ms 769.5MB 7713ms 377ms truffleruby 22.3.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 90ms 1.7ms 5.6MB 80ms 0ms v/clang 0.4.0
v 1.v 91ms 1.2ms 5.6MB 80ms 0ms v/clang+gc 0.4.0
dart 1.dart 98ms 2.8ms 50.0MB 73ms 13ms dart/exe 3.0.6
haxe 1.hx 107ms 2.3ms 27.7MB 103ms 0ms haxe/cpp 4.2.5
javascript 1.js 116ms 4.2ms 105.5MB 107ms 13ms bun 0.6.14
python 1.py 119ms 16ms 80.1MB 83ms 13ms pypy 3.10.12
csharp 1.cs 126ms 4.3ms 72.0MB 100ms 23ms dotnet/aot 7.0.306
kotlin 1.kt 132ms 9.9ms 109.4MB 123ms 13ms kotlin/jvm 17.0.2
crystal 1.cr 139ms 2.3ms 11.3MB 127ms 0ms crystal 1.9.0
rust 4.rs 148ms 0.5ms 5.6MB 140ms 0ms rustc 1.70.0
csharp 1.cs 153ms 0.8ms 44.0MB 137ms 3ms mono 6.12.0
rust 5.rs 156ms 0.5ms 5.7MB 143ms 0ms rustc 1.70.0
java 2.java 165ms 6.2ms 108.9MB 160ms 27ms openjdk 22
java 2.java 165ms 3.9ms 108.4MB 157ms 33ms openjdk 20
typescript 1.ts 169ms 6.2ms 84.1MB 153ms 20ms deno 1.35.1
rust 3.rs 174ms 0.5ms 7.9MB 160ms 0ms rustc 1.70.0
javascript 1.js 174ms 4.1ms 68.2MB 153ms 27ms node 20.4.0
zig 1.zig 180ms 1.1ms 7.1MB 170ms 0ms zig 0.11.0-dev.3978+711b4e93e
nim 2.nim 186ms 1.2ms 5.6MB 177ms 0ms nim 1.6.14
java 2.java 187ms 9.1ms 164.5MB 217ms 40ms graal/jvm 17.0.7
nim 2.nim 194ms 3.4ms 5.7MB 183ms 0ms nim/clang 1.6.14
wasm 3.rs 203ms 4.3ms 32.0MB 180ms 0ms wasmedgec 0.13.1
wasm 5.rs 204ms 1.9ms 30.1MB 187ms 0ms wasmedgec 0.13.1
wasm 3.rs 215ms 5.6ms 20.0MB 200ms 0ms wasmtime 10.0.1
wasm 4.rs 219ms 2.6ms 30.1MB 197ms 3ms wasmedgec 0.13.1
chapel 4.chpl 220ms 1.8ms 28.0MB 203ms 7ms chpl 1.31.0
chapel 3.chpl 225ms 0.7ms 24.1MB 207ms 7ms chpl 1.31.0
swift 1.swift 237ms 3.5ms 10.4MB 223ms 0ms swift 5.8.1
csharp 1.cs 237ms 4.4ms 95.5MB 180ms 33ms dotnet 7.0.306
d 1.d 248ms 1.3ms 206.3MB 187ms 47ms ldc2 1.32.2
wasm 5.rs 269ms 0.5ms 18.1MB 257ms 0ms wasmtime 10.0.1
wasm 4.rs 284ms 1.1ms 20.0MB 270ms 0ms wasmtime 10.0.1
java 2.java 298ms 0.3ms 235.9MB 193ms 137ms openjdk/zgc 20
wasm 3.rs 305ms 8.2ms 52.4MB 290ms 3ms node 18.16.1
go 1.go 308ms 4.5ms 8.1MB 397ms 0ms go 1.20.6
wasm 5.rs 308ms 1.0ms 52.2MB 303ms 0ms node 18.16.1
wasm 4.rs 308ms 8.2ms 53.1MB 300ms 7ms node 18.16.1
ocaml 1.ml 341ms 3.5ms 22.9MB 323ms 3ms ocaml 5.0.0
d 1.d 343ms 1.5ms 209.2MB 263ms 60ms dmd 2.104.1
odin 1.odin 375ms 6.6ms 7.5MB 363ms 0ms odin 2023
lua 1.lua 416ms 5.6ms 25.2MB 393ms 10ms luajit 2.1.0-beta3
haxe 2.hx 439ms 8.3ms 58.4MB 457ms 27ms haxe/cpp 4.2.5
go 1.go 440ms 1.4ms 6.9MB 427ms 0ms tinygo 0.28.1
kotlin 1-m.kt 458ms 8.4ms 30.6MB 813ms 50ms kotlin/native 1.8.21
ruby 1.rb 533ms 1.9ms 40.7MB 503ms 13ms ruby/yjit 3.2.2
python 1.py 610ms 3.8ms 12.0MB 587ms 7ms pyston 3.8.12
haxe 1.hx 789ms 3.5ms 8.6MB 763ms 13ms haxe/hl/c 4.2.5
php 1.php 798ms 1.5ms 62.3MB 767ms 17ms php 8.2.8
haxe 1.hx 942ms 3.8ms 11.1MB 887ms 40ms haxe/hl/jit 1.13.0
ruby 1.rb 969ms 5.3ms 40.2MB 943ms 10ms ruby 3.2.2
ruby 1-m.rb 984ms 52ms 414.6MB 1597ms 140ms truffleruby 22.3.1
python 1.py 994ms 18ms 12.5MB 973ms 3ms cpython 3.11.4
lua 1.lua 1062ms 12ms 17.4MB 1040ms 3ms lua 5.4.4
haxe 2.hx 1177ms 9.7ms 13.4MB 1037ms 123ms haxe/hl/c 4.2.5
haxe 2.hx 1307ms 7.5ms 25.0MB 1120ms 167ms haxe/hl/jit 1.13.0
perl 1.pl 2195ms 12ms 14.1MB 2183ms 0ms perl 5.38.0