All merkletrees problem benchmarks

Current benchmark data was generated on Wed May 25 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8272CL 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.)

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 538ms 9.7ms 363.9MB 503ms 113ms kotlin/jvm 17.0.2
java 1.java 573ms 6.4ms 366.3MB 573ms 103ms openjdk 18.0.1
java 1.java 575ms 12ms 364.4MB 590ms 83ms openjdk 19
dart 1.dart 680ms 2.3ms 68.7MB 663ms 27ms dart/exe 2.17.0
typescript 1.ts 758ms 42ms 91.1MB 757ms 40ms deno 1.22.0
rust 1.rs 817ms 1.1ms 33.8MB 787ms 10ms rustc 1.61.0
java 1.java 972ms 22ms 447.4MB 777ms 140ms graal/jvm 17.0.3
wasm 1.rs 1014ms 67ms 30.1MB 977ms 20ms wasmer/llvm 2.2.1
java 1.java 1041ms 9.3ms 778.4MB 703ms 493ms openjdk/zgc 18.0.1
csharp 2.cs 1061ms 2.4ms 388.0MB 937ms 167ms dotnet 6.0.300
javascript 1.js 1071ms 1.7ms 117.0MB 1107ms 53ms node 18.2.0
wasm 1.rs 1086ms 70ms 32.9MB 1063ms 7ms wasmedgec 0.9.1
csharp 1.cs 1098ms 27ms 305.2MB 957ms 170ms dotnet 6.0.300
nim 1.nim 1385ms 10ms 35.0MB 1363ms 3ms nim 1.6.6
wasm 1.rs 1390ms 16ms 66.1MB 1380ms 23ms node 16.15.0
haxe 1.hx 1430ms 9.8ms 96.9MB 1727ms 50ms haxe/cpp 4.2.4
wasm 1.rs 1431ms 13ms 34.1MB 1403ms 10ms wasmtime 0.37.0
crystal 1.cr 1471ms 5.0ms 64.3MB 1713ms 20ms crystal 1.4.1
nim 1.nim 1590ms 8.8ms 35.1MB 1563ms 7ms nim/clang 1.6.6
ocaml 1.ml 1709ms 12ms 62.6MB 1673ms 17ms ocaml 4.14.0
d 1.d 1813ms 8.3ms 74.9MB 1880ms 23ms ldc2 1.29.0
csharp 1.cs 1920ms 11ms 147.1MB 2480ms 123ms mono 6.12.0
go 1.go 2139ms 35ms 38.9MB 3060ms 33ms go 1.18.2
go 2.go 2329ms 6.4ms 42.1MB 3320ms 63ms go 1.18.2
ocaml 2.ml 2842ms 3.0ms 71.2MB 2803ms 20ms ocaml 4.14.0
d 1.d 2891ms 117ms 153.4MB 3213ms 47ms dmd 2.100.0
python 1.py 2988ms 32ms 233.4MB 2767ms 203ms pypy 3.8.13
go 1.go 4944ms 13ms 212.8MB 4870ms 57ms tinygo 0.23.0
hacklang 1.hack 4945ms 12ms 234.7MB 4863ms 67ms hhvm 4.160.0
go 2.go timeout 0.0ms 0.0MB 0ms 0ms tinygo 0.23.0
haxe 1.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
kotlin 1.kt timeout 0.0ms 0.0MB 0ms 0ms kotlin/native 1.6.21
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
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.5
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.4
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

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 164ms 4.4ms 50.7MB 137ms 17ms dart/exe 2.17.0
rust 1.rs 167ms 1.9ms 9.9MB 153ms 0ms rustc 1.61.0
typescript 1.ts 193ms 11ms 57.4MB 187ms 17ms deno 1.22.0
kotlin 1.kt 203ms 1.8ms 221.2MB 180ms 57ms kotlin/jvm 17.0.2
ocaml 1.ml 205ms 0.5ms 18.6MB 180ms 10ms ocaml 4.14.0
wasm 1.rs 220ms 29ms 12.2MB 193ms 7ms wasmer/llvm 2.2.1
wasm 1.rs 225ms 0.4ms 16.9MB 210ms 0ms wasmedgec 0.9.1
java 1.java 240ms 4.4ms 171.2MB 230ms 63ms openjdk 19
java 1.java 243ms 2.4ms 220.9MB 237ms 53ms openjdk 18.0.1
crystal 1.cr 246ms 2.3ms 17.7MB 260ms 13ms crystal 1.4.1
haxe 1.hx 278ms 1.5ms 28.6MB 293ms 20ms haxe/cpp 4.2.4
javascript 1.js 302ms 1.3ms 84.4MB 290ms 33ms node 18.2.0
wasm 1.rs 307ms 1.7ms 16.0MB 290ms 0ms wasmtime 0.37.0
csharp 2.cs 308ms 5.3ms 135.0MB 213ms 70ms dotnet 6.0.300
nim 1.nim 322ms 21ms 9.3MB 307ms 0ms nim 1.6.6
csharp 1.cs 323ms 1.1ms 164.5MB 227ms 80ms dotnet 6.0.300
nim 1.nim 338ms 0.6ms 10.0MB 323ms 0ms nim/clang 1.6.6
csharp 1.cs 346ms 0.7ms 74.4MB 317ms 47ms mono 6.12.0
d 1.d 352ms 1.3ms 39.0MB 327ms 13ms ldc2 1.29.0
wasm 1.rs 356ms 5.1ms 47.8MB 353ms 10ms node 16.15.0
python 1.py 443ms 13ms 151.0MB 363ms 60ms pypy 3.8.13
go 1.go 443ms 6.3ms 12.3MB 610ms 10ms go 1.18.2
java 1.java 459ms 21ms 334.9MB 273ms 227ms openjdk/zgc 18.0.1
ocaml 2.ml 460ms 5.6ms 25.2MB 440ms 3ms ocaml 4.14.0
go 2.go 516ms 13ms 13.4MB 713ms 20ms go 1.18.2
d 1.d 577ms 23ms 39.9MB 630ms 3ms dmd 2.100.0
java 1.java 624ms 24ms 246.2MB 413ms 77ms graal/jvm 17.0.3
kotlin 1.kt 689ms 9.9ms 74.3MB 657ms 10ms kotlin/native 1.6.21
go 1.go 1016ms 1.9ms 39.1MB 993ms 7ms tinygo 0.23.0
go 2.go 1278ms 2.3ms 51.9MB 1257ms 7ms tinygo 0.23.0
hacklang 1.hack 1682ms 3.1ms 191.5MB 1593ms 70ms hhvm 4.160.0
haxe 1.hx 1810ms 21ms 15.4MB 1697ms 97ms haxe/hl/c 4.2.4
haxe 1.hx 2241ms 26ms 20.3MB 2077ms 147ms haxe/hl/jit 1.12.0
lua 1.lua 2331ms 46ms 35.3MB 2293ms 17ms luajit 2.1.0
lua 1.lua 3310ms 64ms 41.5MB 3277ms 20ms lua 5.4.4
ruby 1-m.rb 3899ms 12ms 522.4MB 7130ms 253ms truffleruby 22.1.0
ruby 1.rb 3919ms 269ms 300.9MB 3750ms 147ms ruby/yjit 3.1.2
ruby 1.rb 4824ms 19ms 44.4MB 4790ms 17ms ruby 3.1.2
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.5
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.4
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
zig 1.zig timeout 0.0ms 0.0MB 0ms 0ms zig 0.10.0