All merkletrees problem benchmarks

Current benchmark data was generated on Thu May 04 2023, 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 528ms 3.0ms 286.1MB 510ms 87ms kotlin/jvm 17.0.2
java 1.java 598ms 6.9ms 289.1MB 613ms 87ms openjdk 21
java 1.java 601ms 11ms 286.7MB 593ms 100ms openjdk 20
dart 1.dart 611ms 6.7ms 62.9MB 587ms 27ms dart/exe 3.1.0-63.0.dev
dart 1.dart 624ms 5.7ms 70.8MB 590ms 27ms dart/exe 2.19.6
java 1.java 680ms 69ms 380.0MB 887ms 117ms graal/jvm 17.0.7
csharp 2.cs 925ms 3.9ms 383.7MB 813ms 170ms dotnet/aot 7.0.203
javascript 1.js 933ms 8.0ms 155.5MB 1027ms 43ms bun 0.5.9
rust 1.rs 934ms 5.7ms 33.9MB 907ms 10ms rustc 1.69.0
typescript 1.ts 959ms 4.4ms 116.3MB 1000ms 50ms deno 1.33.1
csharp 1.cs 993ms 12ms 304.5MB 880ms 157ms dotnet/aot 7.0.203
javascript 1.js 1028ms 14ms 124.8MB 1050ms 63ms node 20.0.0
nim 1.nim 1082ms 4.0ms 34.1MB 1060ms 7ms nim/clang 1.6.12
java 1.java 1084ms 8.4ms 728.2MB 723ms 500ms openjdk/zgc 20
nim 1.nim 1097ms 3.3ms 34.3MB 1073ms 7ms nim 1.6.12
wasm 1.rs 1138ms 5.0ms 39.6MB 1117ms 10ms wasmedgec 0.12.0
csharp 2.cs 1143ms 4.4ms 431.9MB 940ms 213ms dotnet 7.0.203
zig 1.zig 1150ms 5.7ms 41.2MB 1113ms 20ms zig 0.11.0-dev.2969+855493bb8
csharp 1.cs 1202ms 3.5ms 431.8MB 1030ms 210ms dotnet 7.0.203
wasm 1.rs 1361ms 19ms 39.6MB 1330ms 17ms wasmtime 8.0.1
wasm 1.rs 1379ms 6.0ms 73.8MB 1357ms 20ms node 18.16.0
d 1.d 1473ms 0.7ms 312.7MB 1390ms 80ms ldc2 1.32.1
haxe 1.hx 1500ms 28ms 95.2MB 1657ms 53ms haxe/cpp 4.2.5
crystal 1.cr 1649ms 11ms 64.3MB 1620ms 10ms crystal 1.8.1
csharp 1.cs 1920ms 100ms 149.9MB 2397ms 177ms mono 6.12.0
ocaml 1.ml 1931ms 14ms 69.1MB 1880ms 30ms ocaml 5.0.0
go 1.go 2296ms 34ms 37.6MB 3233ms 50ms go 1.20.4
d 1.d 2312ms 50ms 314.2MB 2320ms 80ms dmd 2.103.1
go 2.go 2560ms 11ms 39.8MB 3657ms 60ms go 1.20.4
python 1.py 2892ms 160ms 230.4MB 2713ms 160ms pypy 3.9.16
kotlin 1-m.kt 3261ms 59ms 142.4MB 5420ms 580ms kotlin/native 1.8.21
ocaml 2.ml 3617ms 28ms 74.2MB 3557ms 43ms ocaml 5.0.0
go 1.go timeout 0.0ms 68.6MB 4967ms 13ms tinygo 0.27.0
go 2.go timeout 0.0ms 120.8MB 4960ms 20ms tinygo 0.27.0
haxe 1.hx timeout 0.0ms 31.9MB 4647ms 333ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 54.0MB 4657ms 327ms haxe/hl/jit 1.13.0
lua 1.lua timeout 0.0ms 159.1MB 4920ms 63ms lua 5.4.4
lua 1.lua timeout 0.0ms 183.3MB 4907ms 73ms luajit 2.1.0-beta3
php 1.php timeout 0.0ms 113.2MB 4950ms 30ms php 8.2.4
python 1.py timeout 0.0ms 92.9MB 4940ms 40ms cpython 3.11.3
python 1.py timeout 0.0ms 130.3MB 4920ms 53ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 96.4MB 4937ms 47ms ruby 3.2.2
ruby 1.rb timeout 0.0ms 96.9MB 4920ms 60ms ruby/yjit 3.2.2
ruby 1.rb timeout 0.0ms 523.5MB 9013ms 297ms truffleruby 22.3.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 146ms 2.8ms 48.7MB 117ms 13ms dart/exe 2.19.6
dart 1.dart 152ms 3.7ms 43.2MB 113ms 20ms dart/exe 3.1.0-63.0.dev
rust 1.rs 196ms 6.1ms 9.8MB 177ms 3ms rustc 1.69.0
kotlin 1.kt 202ms 4.7ms 220.9MB 163ms 63ms kotlin/jvm 17.0.2
javascript 1.js 211ms 8.9ms 107.1MB 187ms 27ms bun 0.5.9
csharp 2.cs 215ms 3.9ms 137.7MB 153ms 60ms dotnet/aot 7.0.203
zig 1.zig 229ms 2.0ms 11.0MB 210ms 0ms zig 0.11.0-dev.2969+855493bb8
nim 1.nim 231ms 0.7ms 9.5MB 220ms 0ms nim/clang 1.6.12
nim 1.nim 233ms 1.6ms 9.3MB 217ms 0ms nim 1.6.12
wasm 1.rs 246ms 0.3ms 21.3MB 230ms 0ms wasmedgec 0.12.0
typescript 1.ts 248ms 4.1ms 83.7MB 233ms 33ms deno 1.33.1
haxe 1.hx 260ms 8.6ms 26.7MB 263ms 13ms haxe/cpp 4.2.5
java 1.java 261ms 14ms 224.4MB 250ms 70ms openjdk 21
java 1.java 264ms 10ms 222.4MB 253ms 63ms openjdk 20
csharp 1.cs 265ms 6.2ms 195.1MB 183ms 77ms dotnet/aot 7.0.203
javascript 1.js 275ms 8.2ms 92.5MB 253ms 37ms node 20.0.0
ocaml 1.ml 275ms 3.8ms 25.6MB 253ms 3ms ocaml 5.0.0
crystal 1.cr 278ms 9.0ms 17.6MB 257ms 7ms crystal 1.8.1
wasm 1.rs 289ms 3.1ms 21.6MB 270ms 3ms wasmtime 8.0.1
java 1-m.java 315ms 15ms 283.2MB 417ms 70ms graal/jvm 17.0.7
csharp 1.cs 341ms 2.9ms 72.3MB 330ms 30ms mono 6.12.0
wasm 1.rs 341ms 1.4ms 57.2MB 323ms 7ms node 18.16.0
d 1.d 348ms 14ms 312.4MB 260ms 70ms ldc2 1.32.1
csharp 2.cs 371ms 33ms 133.6MB 277ms 73ms dotnet 7.0.203
csharp 1.cs 375ms 3.2ms 174.9MB 270ms 90ms dotnet 7.0.203
python 1.py 423ms 11ms 149.9MB 360ms 47ms pypy 3.9.16
java 1.java 462ms 6.1ms 329.4MB 273ms 230ms openjdk/zgc 20
go 1.go 480ms 9.0ms 12.1MB 653ms 13ms go 1.20.4
d 1.d 490ms 5.3ms 314.4MB 397ms 83ms dmd 2.103.1
go 2.go 526ms 2.9ms 14.3MB 727ms 10ms go 1.20.4
ocaml 2.ml 629ms 19ms 30.1MB 610ms 7ms ocaml 5.0.0
kotlin 1-m.kt 684ms 6.6ms 38.4MB 1157ms 100ms kotlin/native 1.8.21
go 1.go 787ms 2.6ms 23.1MB 763ms 3ms tinygo 0.27.0
go 2.go 1102ms 3.5ms 38.9MB 1080ms 7ms tinygo 0.27.0
php 1.php 1214ms 6.9ms 66.4MB 1183ms 13ms php 8.2.4
haxe 1.hx 1701ms 17ms 10.9MB 1557ms 123ms haxe/hl/c 4.2.5
lua 1.lua 1989ms 8.8ms 40.6MB 1953ms 17ms luajit 2.1.0-beta3
haxe 1.hx 2040ms 23ms 20.3MB 1910ms 110ms haxe/hl/jit 1.13.0
lua 1.lua 3267ms 64ms 41.6MB 3230ms 17ms lua 5.4.4
ruby 1-m.rb 4022ms 46ms 591.0MB 7290ms 320ms truffleruby 22.3.1
ruby 1.rb 4150ms 14ms 53.6MB 4097ms 37ms ruby/yjit 3.2.2
ruby 1.rb 4968ms 17ms 52.8MB 4920ms 30ms ruby 3.2.2
python 1.py timeout 0.0ms 37.1MB 4977ms 7ms cpython 3.11.3
python 1.py timeout 0.0ms 41.4MB 4960ms 17ms pyston 3.8.12