All merkletrees problem benchmarks

Current benchmark data was generated on Wed Sep 28 2022, 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.)

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 452ms 0.9ms 70.9MB 420ms 33ms dart/exe 2.18.1
java 1.java 488ms 7.7ms 291.8MB 517ms 63ms openjdk 20
kotlin 1.kt 500ms 21ms 561.1MB 477ms 100ms kotlin/jvm 17.0.2
java 1.java 503ms 9.9ms 367.5MB 530ms 63ms openjdk 19
java 1.java 550ms 7.1ms 364.9MB 677ms 93ms graal/jvm 17.0.4
typescript 1.ts 660ms 13ms 90.7MB 667ms 17ms deno 1.25.4
javascript 1.js 736ms 0.2ms 156.8MB 820ms 37ms bun 0.1.13
javascript 1.js 797ms 5.4ms 121.3MB 800ms 57ms node 18.9.1
rust 1.rs 895ms 9.9ms 33.8MB 863ms 13ms rustc 1.64.0
csharp 1.cs 921ms 4.2ms 391.9MB 793ms 163ms dotnet 6.0.401
java 1.java 924ms 2.7ms 697.8MB 633ms 437ms openjdk/zgc 19
csharp 2.cs 927ms 18ms 378.4MB 787ms 173ms dotnet 6.0.401
crystal 1.cr 1021ms 28ms 64.4MB 1143ms 27ms crystal 1.5.1
zig 1.zig 1060ms 4.5ms 41.2MB 1037ms 7ms zig 0.10.0-dev.4192+c75e8f361
haxe 1.hx 1079ms 4.7ms 97.0MB 1223ms 53ms haxe/cpp 4.2.5
wasm 1.rs 1094ms 0.3ms 43.0MB 1073ms 7ms wasmedgec 0.11.0
wasm 1.rs 1251ms 5.6ms 29.8MB 1217ms 20ms wasmer/llvm 2.3.0
wasm 1.rs 1375ms 25ms 67.4MB 1377ms 17ms node 16.17.0
d 1.d 1382ms 27ms 74.8MB 1440ms 3ms ldc2 1.30.0
wasm 1.rs 1436ms 17ms 34.7MB 1410ms 7ms wasmtime 1.0.1
ocaml 1.ml 1490ms 8.9ms 62.6MB 1450ms 23ms ocaml 4.14.0
nim 1.nim 1576ms 4.4ms 35.2MB 1553ms 10ms nim/clang 1.6.8
nim 1.nim 1655ms 3.7ms 34.6MB 1633ms 3ms nim 1.6.8
csharp 1.cs 1675ms 7.1ms 148.6MB 2093ms 110ms mono 6.12.0
go 1.go 1891ms 8.9ms 38.2MB 2680ms 17ms go 1.19.1
python 1.py 2222ms 2.5ms 293.8MB 2007ms 193ms pypy 3.8.13
go 2.go 2233ms 22ms 52.9MB 3143ms 57ms go 1.19.1
kotlin 1.kt 2330ms 9.2ms 138.2MB 3397ms 23ms kotlin/native 1.7.10
ocaml 2.ml 2549ms 8.8ms 71.5MB 2527ms 7ms ocaml 4.14.0
d 1.d 2591ms 9.8ms 153.6MB 2880ms 27ms dmd 2.100.2
go 1.go 3053ms 3.0ms 159.8MB 3003ms 37ms tinygo 0.25.0
go 2.go timeout 0.0ms 0.0MB 0ms 0ms tinygo 0.25.0
hacklang 1.hack timeout 0.0ms 0.0MB 0ms 0ms hhvm 4.169.0
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/jit 1.12.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
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.10
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
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.2.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 116ms 1.3ms 49.1MB 93ms 17ms dart/exe 2.18.1
javascript 1.js 166ms 0.8ms 100.0MB 157ms 13ms bun 0.1.13
rust 1.rs 183ms 1.5ms 9.9MB 170ms 0ms rustc 1.64.0
kotlin 1.kt 188ms 3.7ms 221.5MB 170ms 47ms kotlin/jvm 17.0.2
ocaml 1.ml 188ms 0.6ms 18.6MB 173ms 0ms ocaml 4.14.0
crystal 1.cr 197ms 2.5ms 17.7MB 210ms 3ms crystal 1.5.1
haxe 1.hx 203ms 3.3ms 28.6MB 210ms 3ms haxe/cpp 4.2.5
zig 1.zig 207ms 1.3ms 11.3MB 190ms 0ms zig 0.10.0-dev.4192+c75e8f361
typescript 1.ts 210ms 2.6ms 56.5MB 170ms 10ms deno 1.25.4
java 1.java 213ms 3.2ms 171.6MB 247ms 37ms openjdk 20
java 1.java 218ms 6.3ms 174.4MB 233ms 43ms openjdk 19
wasm 1.rs 238ms 0.2ms 25.0MB 223ms 0ms wasmedgec 0.11.0
javascript 1.js 247ms 3.3ms 88.7MB 233ms 23ms node 18.9.1
csharp 2.cs 252ms 2.7ms 94.2MB 203ms 30ms dotnet 6.0.401
d 1.d 260ms 8.2ms 39.1MB 243ms 7ms ldc2 1.30.0
java 1-m.java 266ms 6.2ms 246.6MB 370ms 63ms graal/jvm 17.0.4
wasm 1.rs 268ms 0.1ms 11.8MB 250ms 0ms wasmer/llvm 2.3.0
csharp 1.cs 291ms 3.1ms 185.8MB 197ms 73ms dotnet 6.0.401
csharp 1.cs 306ms 5.3ms 72.7MB 277ms 27ms mono 6.12.0
wasm 1.rs 310ms 1.8ms 17.0MB 293ms 0ms wasmtime 1.0.1
python 1.py 323ms 3.3ms 144.9MB 263ms 47ms pypy 3.8.13
nim 1.nim 339ms 0.5ms 9.9MB 330ms 0ms nim/clang 1.6.8
nim 1.nim 364ms 14ms 9.3MB 353ms 0ms nim 1.6.8
wasm 1.rs 364ms 14ms 55.4MB 377ms 3ms node 16.17.0
go 1.go 409ms 5.1ms 12.5MB 563ms 10ms go 1.19.1
kotlin 1.kt 425ms 5.9ms 38.1MB 613ms 3ms kotlin/native 1.7.10
ocaml 2.ml 426ms 1.7ms 23.5MB 407ms 7ms ocaml 4.14.0
java 1.java 438ms 21ms 355.1MB 273ms 210ms openjdk/zgc 19
go 2.go 477ms 1.5ms 14.3MB 647ms 20ms go 1.19.1
d 1.d 512ms 4.6ms 40.0MB 543ms 3ms dmd 2.100.2
go 1.go 800ms 6.4ms 39.1MB 783ms 3ms tinygo 0.25.0
go 2.go 1329ms 3.7ms 52.1MB 1313ms 0ms tinygo 0.25.0
lua 1.lua 1528ms 19ms 35.4MB 1510ms 3ms luajit 2.1.0-beta3
haxe 1.hx 1554ms 11ms 15.5MB 1453ms 87ms haxe/hl/c 4.2.5
haxe 1.hx 1730ms 16ms 20.4MB 1623ms 90ms haxe/hl/jit 1.12.0
hacklang 1.hack 1787ms 4.2ms 201.0MB 1723ms 37ms hhvm 4.169.0
lua 1.lua 2788ms 47ms 41.5MB 2760ms 13ms lua 5.4.4
ruby 1-m.rb 3188ms 28ms 570.1MB 5863ms 187ms truffleruby 22.2.0
ruby 1.rb 3898ms 7.4ms 300.7MB 3730ms 153ms ruby/yjit 3.1.2
ruby 1.rb 4753ms 18ms 44.3MB 4720ms 17ms ruby 3.1.2
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.10
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 1.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12