All binarytrees problem benchmarks

Current benchmark data was generated on Fri Jul 01 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz (Model 85)

* -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 807ms 19ms 604.4MB 780ms 167ms kotlin/jvm 17.0.2
java 2.java 890ms 70ms 804.5MB 843ms 193ms openjdk 19
java 2.java 1007ms 17ms 603.0MB 877ms 260ms openjdk 18.0.1
java 2.java 1153ms 24ms 681.0MB 1063ms 223ms graal/jvm 17.0.3
v 1.v 1462ms 6.5ms 37.2MB 1437ms 10ms v/clang+gc 0.3.0
dart 1.dart 1471ms 10ms 85.8MB 1453ms 43ms dart/exe 2.17.5
v 1.v 1489ms 31ms 37.0MB 1463ms 10ms v/clang 0.3.0
julia 4.jl 1508ms 17ms 244.6MB 1380ms 230ms julia 1.7.3
java 2.java 1742ms 61ms 1231.9MB 1070ms 890ms openjdk/zgc 18.0.1
csharp 1.cs 1848ms 18ms 302.0MB 1713ms 193ms dotnet 6.0.301
rust 4.rs 2145ms 51ms 33.8MB 2117ms 7ms rustc 1.62.0
python 1.py 2152ms 48ms 220.4MB 1953ms 187ms pypy 3.8.13
crystal 1.cr 2229ms 19ms 64.5MB 2610ms 27ms crystal 1.4.1
haxe 1.hx 2253ms 31ms 146.0MB 2823ms 87ms haxe/cpp 4.2.4
rust 3.rs 2420ms 51ms 49.9MB 2383ms 20ms rustc 1.62.0
rust 5.rs 2448ms 48ms 33.8MB 2410ms 17ms rustc 1.62.0
wasm 5.rs 2641ms 18ms 21.8MB 2617ms 13ms wasmer/llvm 2.3.0
wasm 5.rs 2646ms 34ms 21.2MB 2617ms 10ms wasmedgec 0.10.0
wasm 3.rs 2648ms 20ms 37.8MB 2593ms 33ms wasmer/llvm 2.3.0
wasm 4.rs 2717ms 23ms 21.7MB 2690ms 10ms wasmer/llvm 2.3.0
wasm 3.rs 2781ms 37ms 37.2MB 2753ms 10ms wasmedgec 0.10.0
csharp 1.cs 3003ms 47ms 104.3MB 3600ms 200ms mono 6.12.0
chapel 4.chpl 3120ms 5.5ms 54.3MB 3090ms 20ms chpl 1.27.0
chapel 3.chpl 3297ms 23ms 54.3MB 3260ms 17ms chpl 1.27.0
wasm 4.rs 3346ms 37ms 21.3MB 3323ms 3ms wasmedgec 0.10.0
wasm 5.rs 3382ms 36ms 58.3MB 3390ms 17ms node 16.15.1
wasm 3.rs 3406ms 25ms 42.6MB 3377ms 13ms wasmtime 0.38.1
wasm 3.rs 3450ms 31ms 75.1MB 3443ms 20ms node 16.15.1
wasm 4.rs 3521ms 51ms 58.7MB 3530ms 17ms node 16.15.1
wasm 5.rs 3701ms 26ms 26.6MB 3680ms 3ms wasmtime 0.38.1
wasm 4.rs 3763ms 21ms 26.6MB 3747ms 7ms wasmtime 0.38.1
nim 2.nim 3956ms 39ms 34.9MB 3927ms 10ms nim 1.6.6
go 1.go 3959ms 20ms 45.3MB 5710ms 70ms go 1.18.3
nim 2.nim 4104ms 38ms 34.6MB 4073ms 10ms nim/clang 1.6.6
d 1.d 4154ms 6.5ms 75.2MB 4467ms 37ms ldc2 1.29.0
typescript 1.ts 4204ms 486ms 179.4MB 5073ms 780ms deno 1.23.2
javascript 1.js 4297ms 951ms 359.6MB 3590ms 1303ms node 18.4.0
d 1.d timeout 0.0ms 0.0MB 0ms 0ms dmd 2.100.0
go 1.go timeout 0.0ms 0.0MB 0ms 0ms tinygo 0.23.0
hacklang 1.hack timeout 0.0ms 0.0MB 0ms 0ms hhvm 4.163.0
haxe 2.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/cpp 4.2.4
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/c 4.2.4
haxe 2.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/c 4.2.4
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/jit 1.12.0
haxe 2.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/jit 1.12.0
kotlin 1.kt timeout 0.0ms 0.0MB 0ms 0ms kotlin/native 1.7.0
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms luajit 2.1.0-beta3
ocaml 1.ml timeout 0.0ms 0.0MB 0ms 0ms ocaml 4.14.0
perl 1.pl timeout 0.0ms 0.0MB 0ms 0ms perl 5.36.0
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.5
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.1.0
zig 1.zig timeout 0.0ms 0.0MB 0ms 0ms zig 0.10.0-dev.2820+48fd92365

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 140ms 1.7ms 48.9MB 113ms 17ms dart/exe 2.17.5
v 1.v 144ms 1.7ms 5.7MB 130ms 0ms v/clang 0.3.0
v 1.v 148ms 4.5ms 5.6MB 133ms 0ms v/clang+gc 0.3.0
haxe 1.hx 152ms 2.8ms 27.4MB 153ms 17ms haxe/cpp 4.2.4
python 1.py 155ms 5.3ms 78.7MB 113ms 27ms pypy 3.8.13
kotlin 1.kt 158ms 6.1ms 109.4MB 143ms 30ms kotlin/jvm 17.0.2
crystal 1.cr 174ms 1.3ms 13.0MB 180ms 7ms crystal 1.4.1
typescript 1.ts 178ms 1.5ms 56.2MB 173ms 13ms deno 1.23.2
rust 4.rs 190ms 4.6ms 5.7MB 177ms 0ms rustc 1.62.0
java 2.java 193ms 6.2ms 106.1MB 183ms 47ms openjdk 18.0.1
csharp 1.cs 196ms 2.1ms 44.6MB 167ms 20ms mono 6.12.0
java 2.java 197ms 4.9ms 111.1MB 203ms 33ms openjdk 19
rust 3.rs 197ms 2.1ms 7.8MB 187ms 0ms rustc 1.62.0
rust 5.rs 214ms 7.6ms 6.1MB 200ms 0ms rustc 1.62.0
csharp 1.cs 238ms 8.9ms 75.3MB 180ms 30ms dotnet 6.0.301
wasm 3.rs 242ms 2.7ms 10.0MB 227ms 0ms wasmer/llvm 2.3.0
wasm 5.rs 246ms 3.6ms 7.4MB 230ms 0ms wasmedgec 0.10.0
wasm 4.rs 253ms 3.3ms 7.9MB 237ms 0ms wasmer/llvm 2.3.0
wasm 5.rs 255ms 14ms 7.9MB 237ms 0ms wasmer/llvm 2.3.0
wasm 3.rs 257ms 7.1ms 9.3MB 243ms 0ms wasmedgec 0.10.0
javascript 1.js 275ms 2.0ms 83.9MB 250ms 33ms node 18.4.0
chapel 4.chpl 291ms 4.0ms 24.1MB 270ms 3ms chpl 1.27.0
chapel 3.chpl 291ms 2.4ms 24.1MB 267ms 10ms chpl 1.27.0
wasm 3.rs 315ms 3.9ms 14.7MB 297ms 0ms wasmtime 0.38.1
wasm 4.rs 332ms 46ms 7.3MB 317ms 0ms wasmedgec 0.10.0
go 1.go 338ms 4.4ms 8.2MB 397ms 7ms go 1.18.3
ocaml 1.ml 345ms 1.5ms 17.4MB 330ms 0ms ocaml 4.14.0
wasm 5.rs 351ms 5.3ms 12.7MB 337ms 0ms wasmtime 0.38.1
wasm 4.rs 354ms 4.7ms 12.7MB 337ms 0ms wasmtime 0.38.1
nim 2.nim 370ms 5.1ms 5.4MB 357ms 0ms nim 1.6.6
java 2.java 377ms 8.7ms 235.3MB 227ms 180ms openjdk/zgc 18.0.1
nim 2.nim 385ms 1.2ms 5.7MB 373ms 0ms nim/clang 1.6.6
d 1.d 387ms 5.1ms 15.1MB 377ms 3ms ldc2 1.29.0
wasm 3.rs 396ms 3.9ms 45.6MB 403ms 13ms node 16.15.1
wasm 5.rs 398ms 17ms 44.1MB 410ms 10ms node 16.15.1
wasm 4.rs 409ms 4.6ms 44.5MB 427ms 3ms node 16.15.1
julia 4.jl 445ms 11ms 227.4MB 383ms 170ms julia 1.7.3
go 1.go 517ms 5.0ms 6.6MB 500ms 0ms tinygo 0.23.0
java 2.java 533ms 3.8ms 170.2MB 270ms 70ms graal/jvm 17.0.3
d 1.d 556ms 20ms 16.2MB 553ms 0ms dmd 2.100.0
lua 1.lua 599ms 21ms 25.2MB 585ms 0ms luajit 2.1.0-beta3
kotlin 1-m.kt 606ms 5.4ms 30.0MB 947ms 7ms kotlin/native 1.7.0
haxe 2.hx 613ms 4.9ms 60.2MB 770ms 27ms haxe/cpp 4.2.4
python 1.py 803ms 3.7ms 11.9MB 777ms 7ms pyston 3.8.12
haxe 1.hx 1094ms 16ms 7.8MB 1047ms 27ms haxe/hl/c 4.2.4
ruby 1.rb 1274ms 11ms 292.1MB 1093ms 163ms ruby/yjit 3.1.2
ruby 1-m.rb 1306ms 48ms 383.1MB 2173ms 163ms truffleruby 22.1.0
ruby 1.rb 1342ms 20ms 35.5MB 1297ms 27ms ruby 3.1.2
haxe 1.hx 1364ms 18ms 11.2MB 1287ms 60ms haxe/hl/jit 1.12.0
lua 1.lua 1489ms 21ms 17.2MB 1463ms 7ms lua 5.4.4
hacklang 1.hack 1611ms 5.8ms 187.1MB 1537ms 60ms hhvm 4.163.0
haxe 2.hx 1782ms 12ms 13.5MB 1620ms 140ms haxe/hl/c 4.2.4
python 1.py 1983ms 22ms 11.8MB 1963ms 0ms cpython 3.10.5
haxe 2.hx 2205ms 13ms 24.7MB 2010ms 180ms haxe/hl/jit 1.12.0
perl 1.pl 2693ms 34ms 14.4MB 2677ms 0ms perl 5.36.0
zig 1.zig 4356ms 30ms 8.0MB 3317ms 1000ms zig 0.10.0-dev.2820+48fd92365
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.7