All merkletrees problem benchmarks

Current benchmark data was generated on Thu Feb 01 2024, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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 321ms 3.4ms 63.5MB 290ms 30ms dart/exe 3.2.6
kotlin 1.kt 352ms 3.1ms 677.8MB 383ms 80ms kotlin/jvm 21
java 1.java 399ms 1.6ms 680.1MB 480ms 80ms openjdk 21
java 1.java 400ms 2.6ms 658.4MB 477ms 80ms openjdk 23
java 1-m.java 411ms 5.6ms 638.2MB 593ms 120ms graal/jvm 17.0.8
javascript 1-m.js 477ms 4.1ms 169.9MB 633ms 100ms bun 1.0.25
csharp 2.cs 520ms 2.4ms 155.2MB 587ms 87ms dotnet/aot 8.0.101
javascript 1.js 522ms 2.3ms 123.9MB 600ms 90ms node 21.6.1
nim 1.nim 553ms 0.7ms 34.4MB 533ms 3ms nim 2.0.2
typescript 1.ts 554ms 0.7ms 130.9MB 633ms 73ms deno 1.40.2
csharp 1.cs 601ms 10ms 107.3MB 693ms 97ms dotnet/aot 8.0.101
nim 1.nim 653ms 8.9ms 36.5MB 633ms 3ms nim/clang 2.0.2
rust 1.rs 707ms 6.9ms 33.8MB 680ms 13ms rustc 1.75.0
zig 1.zig 867ms 9.1ms 41.1MB 840ms 10ms zig 0.12.0-dev.2341+92211135f
haxe 1.hx 906ms 10ms 97.5MB 993ms 50ms haxe/cpp 4.3.3
crystal 1.cr 928ms 8.2ms 64.6MB 903ms 7ms crystal 1.11.2
d 1.d 976ms 4.9ms 312.5MB 930ms 43ms ldc2 1.36.0
wasm 1.rs 994ms 15ms 42.9MB 967ms 13ms wasmtime 17.0.0
java 1.java 1027ms 7.4ms 941.0MB 473ms 707ms openjdk/zgc 21
wasm 1.rs 1049ms 26ms 74.0MB 1027ms 20ms node 18.19.0
ocaml 1.ml 1178ms 8.6ms 74.8MB 1140ms 23ms ocaml 5.1.1
csharp 2.cs 1201ms 5.0ms 1295.1MB 493ms 673ms dotnet 8.0.101
csharp 1.cs 1308ms 29ms 144.8MB 1517ms 157ms mono 6.12.0
kotlin 1-m.kt 1499ms 16ms 136.6MB 2307ms 317ms kotlin/native 1.8.21
csharp 1.cs 1565ms 4.3ms 1869.6MB 580ms 943ms dotnet 8.0.101
go 1-m.go 1632ms 20ms 39.1MB 3303ms 47ms go 1.21.6
d 1.d 1649ms 16ms 314.4MB 1770ms 37ms dmd 2.106.1
go 2-m.go 1860ms 6.1ms 41.4MB 3863ms 37ms go 1.21.6
ocaml 2.ml 2124ms 11ms 85.5MB 2077ms 27ms ocaml 5.1.1
go 1.go 2314ms 36ms 51.7MB 2297ms 7ms tinygo 0.30.0
python 1.py 2604ms 19ms 201.5MB 2490ms 97ms pypy 3.10.13
go 2.go 3797ms 21ms 119.4MB 3773ms 7ms tinygo 0.30.0
php 1.php 4001ms 93ms 113.7MB 3957ms 27ms php 8.2.14
haxe 1.hx timeout 0.0ms 34.6MB 4937ms 463ms haxe/hl/c 4.3.3
haxe 1.hx timeout 0.0ms 59.1MB 6103ms 520ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 107.4MB 4950ms 40ms lua 5.4.6
lua 1.lua timeout 0.0ms 149.3MB 4937ms 53ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 81.6MB 4970ms 20ms cpython 3.12.1
python 1.py timeout 0.0ms 130.4MB 4943ms 40ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 87.8MB 4917ms 73ms ruby 3.3.0
ruby 1.rb timeout 0.0ms 88.2MB 4917ms 67ms ruby/yjit 3.3.0
ruby 1.rb timeout 0.0ms 575.9MB 12800ms 437ms truffleruby 23.1.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 84ms 0.8ms 43.4MB 60ms 10ms dart/exe 3.2.6
javascript 1.js 105ms 1.0ms 116.9MB 100ms 13ms bun 1.0.25
csharp 2.cs 110ms 2.0ms 38.0MB 113ms 17ms dotnet/aot 8.0.101
nim 1.nim 122ms 0.7ms 9.8MB 110ms 0ms nim 2.0.2
csharp 1.cs 123ms 1.1ms 48.4MB 130ms 23ms dotnet/aot 8.0.101
kotlin 1.kt 129ms 0.4ms 206.5MB 147ms 47ms kotlin/jvm 21
nim 1.nim 143ms 2.1ms 10.0MB 130ms 0ms nim/clang 2.0.2
ocaml 1.ml 153ms 1.9ms 23.1MB 133ms 0ms ocaml 5.1.1
rust 1.rs 159ms 8.2ms 9.8MB 150ms 0ms rustc 1.75.0
java 1-m.java 160ms 2.0ms 198.3MB 237ms 33ms openjdk 23
javascript 1.js 163ms 2.8ms 90.9MB 167ms 33ms node 21.6.1
java 1-m.java 164ms 2.2ms 206.7MB 243ms 37ms openjdk 21
typescript 1.ts 166ms 3.3ms 99.0MB 160ms 47ms deno 1.40.2
haxe 1.hx 168ms 2.3ms 29.1MB 167ms 10ms haxe/cpp 4.3.3
crystal 1.cr 171ms 2.6ms 17.6MB 157ms 0ms crystal 1.11.2
zig 1.zig 176ms 3.9ms 11.1MB 163ms 0ms zig 0.12.0-dev.2341+92211135f
d 1.d 205ms 2.4ms 312.7MB 163ms 27ms ldc2 1.36.0
wasm 1.rs 222ms 0.8ms 24.9MB 210ms 0ms wasmtime 17.0.0
java 1-m.java 251ms 4.7ms 257.4MB 403ms 73ms graal/jvm 17.0.8
wasm 1.rs 258ms 2.2ms 55.9MB 243ms 17ms node 18.19.0
csharp 1.cs 262ms 7.9ms 73.9MB 237ms 33ms mono 6.12.0
d 1.d 322ms 2.9ms 314.4MB 293ms 17ms dmd 2.106.1
kotlin 1-m.kt 323ms 19ms 40.4MB 467ms 77ms kotlin/native 1.8.21
go 1-m.go 365ms 1.8ms 13.8MB 710ms 13ms go 1.21.6
csharp 2.cs 371ms 4.9ms 305.1MB 183ms 157ms dotnet 8.0.101
ocaml 2.ml 371ms 4.0ms 24.9MB 347ms 7ms ocaml 5.1.1
go 2-m.go 409ms 1.0ms 13.8MB 820ms 20ms go 1.21.6
java 1.java 430ms 21ms 343.8MB 227ms 277ms openjdk/zgc 21
csharp 1.cs 441ms 8.6ms 428.5MB 170ms 237ms dotnet 8.0.101
go 1.go 445ms 1.4ms 13.8MB 433ms 0ms tinygo 0.30.0
python 1.py 487ms 3.0ms 94.2MB 440ms 30ms pypy 3.10.13
go 2.go 684ms 10ms 39.5MB 670ms 0ms tinygo 0.30.0
php 1.php 830ms 5.3ms 66.9MB 793ms 20ms php 8.2.14
lua 1.lua 1196ms 6.5ms 31.3MB 1160ms 20ms luajit 2.1.0-beta3
haxe 1.hx 1252ms 8.3ms 12.7MB 1177ms 143ms haxe/hl/c 4.3.3
haxe 1.hx 1372ms 13ms 22.4MB 1393ms 117ms haxe/hl/jit 1.14.0
lua 1.lua 2323ms 26ms 28.8MB 2303ms 3ms lua 5.4.6
ruby 1-m.rb 2642ms 152ms 618.4MB 6900ms 303ms truffleruby 23.1.2
ruby 1.rb 3031ms 1.4ms 46.8MB 2987ms 30ms ruby/yjit 3.3.0
ruby 1.rb 4013ms 75ms 46.5MB 3970ms 23ms ruby 3.3.0
python 1.py timeout 0.0ms 34.1MB 4977ms 7ms cpython 3.12.1
python 1.py timeout 0.0ms 41.4MB 4970ms 17ms pyston 3.8.12