All merkletrees problem benchmarks

Current benchmark data was generated on Sat Nov 16 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 341ms 1.5ms 63.5MB 323ms 17ms dart/exe 3.5.4
kotlin 1.kt 350ms 2.1ms 679.4MB 383ms 77ms kotlin/jvm 21
java 1.java 401ms 6.3ms 542.1MB 497ms 87ms openjdk 23
java 1.java 413ms 3.8ms 677.9MB 473ms 107ms openjdk 21
java 1-m.java 421ms 36ms 624.4MB 640ms 93ms graal/jvm 17.0.8
javascript 1-m.js 510ms 32ms 138.8MB 643ms 143ms bun 1.1.34
javascript 1.js 528ms 2.4ms 134.4MB 600ms 70ms node 23.1.0
csharp 2.cs 543ms 7.0ms 124.9MB 480ms 93ms dotnet/aot 9.0.100
nim 1.nim 560ms 17ms 34.4MB 540ms 0ms nim 2.2.0
csharp 1.cs 598ms 27ms 152.8MB 520ms 123ms dotnet/aot 9.0.100
nim 1.nim 630ms 12ms 35.2MB 613ms 3ms nim/clang 2.2.0
typescript 1.ts 633ms 52ms 133.4MB 713ms 57ms deno 2.0.6
csharp 2.cs 679ms 13ms 140.7MB 630ms 100ms dotnet 9.0.100
rust 1.rs 687ms 1.6ms 33.8MB 663ms 10ms rustc 1.82.0
csharp 1.cs 754ms 16ms 173.0MB 683ms 140ms dotnet 9.0.100
crystal 1.cr 804ms 11ms 81.7MB 773ms 13ms crystal 1.14.0
zig 1.zig 840ms 21ms 41.1MB 813ms 10ms zig 0.13.0
wasm 1.rs 868ms 31ms 42.7MB 843ms 17ms wasmtime 25.0.3
haxe 1.hx 910ms 22ms 94.9MB 1020ms 43ms haxe/cpp 4.3.6
d 1.d 979ms 4.8ms 312.5MB 940ms 40ms ldc2 1.39.0
java 1.java 1080ms 2.8ms 968.3MB 450ms 743ms openjdk/zgc 21
ocaml 1.ml 1126ms 31ms 71.0MB 1087ms 20ms ocaml 5.2.0
csharp 1.cs 1318ms 93ms 142.6MB 1553ms 177ms mono 6.12.0
kotlin 1-m.kt 1501ms 11ms 136.5MB 2307ms 327ms kotlin/native 1.8.21
go 1-m.go 1612ms 18ms 36.6MB 3263ms 33ms go 1.23.3
d 1.d 1748ms 19ms 314.9MB 1883ms 40ms dmd 2.109.1
go 2-m.go 1871ms 71ms 43.0MB 3923ms 27ms go 1.23.3
go 1.go 2050ms 9.5ms 52.0MB 2030ms 3ms tinygo 0.34.0
ocaml 2.ml 2098ms 41ms 91.9MB 2040ms 40ms ocaml 5.2.0
python 1.py 2242ms 21ms 210.2MB 2127ms 100ms pypy 3.10.14
go 2.go 3360ms 7.7ms 90.6MB 3333ms 10ms tinygo 0.34.0
php 1.php 3826ms 86ms 113.9MB 3780ms 30ms php 8.2.25
haxe 1.hx timeout 0.0ms 34.6MB 4840ms 513ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 59.7MB 6090ms 480ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 107.4MB 4953ms 33ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.3MB 4933ms 47ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 93.9MB 4953ms 27ms cpython 3.13.0
python 1.py timeout 0.0ms 130.4MB 4943ms 40ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 88.0MB 4940ms 43ms ruby 3.3.6
ruby 1.rb timeout 0.0ms 88.2MB 4913ms 70ms ruby/yjit 3.3.6
ruby 1.rb timeout 0.0ms 600.6MB 12707ms 390ms truffleruby 24.1.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 88ms 0.2ms 43.5MB 60ms 20ms dart/exe 3.5.4
nim 1.nim 118ms 2.1ms 9.6MB 107ms 0ms nim 2.2.0
javascript 1.js 121ms 1.5ms 86.4MB 100ms 33ms bun 1.1.34
kotlin 1.kt 127ms 2.6ms 206.6MB 150ms 40ms kotlin/jvm 21
nim 1.nim 133ms 5.2ms 9.9MB 120ms 0ms nim/clang 2.2.0
csharp 2.cs 135ms 1.1ms 66.2MB 107ms 30ms dotnet/aot 9.0.100
rust 1.rs 148ms 2.0ms 9.8MB 133ms 0ms rustc 1.82.0
csharp 1.cs 149ms 4.0ms 80.6MB 110ms 47ms dotnet/aot 9.0.100
ocaml 1.ml 154ms 0.1ms 21.6MB 140ms 0ms ocaml 5.2.0
javascript 1.js 157ms 2.6ms 102.4MB 157ms 37ms node 23.1.0
crystal 1.cr 160ms 0.7ms 22.4MB 140ms 3ms crystal 1.14.0
java 1-m.java 163ms 0.5ms 158.7MB 240ms 33ms openjdk 23
typescript 1.ts 164ms 4.5ms 101.0MB 163ms 37ms deno 2.0.6
java 1-m.java 165ms 4.7ms 206.5MB 243ms 30ms openjdk 21
zig 1.zig 168ms 1.1ms 11.1MB 157ms 3ms zig 0.13.0
haxe 1.hx 168ms 4.1ms 26.6MB 163ms 13ms haxe/cpp 4.3.6
wasm 1.rs 197ms 4.6ms 24.6MB 183ms 0ms wasmtime 25.0.3
d 1.d 210ms 2.2ms 312.6MB 163ms 33ms ldc2 1.39.0
java 1-m.java 218ms 8.1ms 258.5MB 370ms 50ms graal/jvm 17.0.8
csharp 2.cs 256ms 2.6ms 84.5MB 213ms 53ms dotnet 9.0.100
csharp 1.cs 264ms 7.8ms 69.4MB 230ms 40ms mono 6.12.0
csharp 1.cs 274ms 1.4ms 99.3MB 243ms 57ms dotnet 9.0.100
kotlin 1-m.kt 314ms 24ms 40.5MB 453ms 73ms kotlin/native 1.8.21
d 1.d 343ms 1.4ms 314.5MB 313ms 23ms dmd 2.109.1
go 1-m.go 365ms 1.7ms 12.1MB 700ms 27ms go 1.23.3
ocaml 2.ml 368ms 8.4ms 27.6MB 347ms 7ms ocaml 5.2.0
python 1.py 386ms 1.5ms 103.6MB 317ms 50ms pypy 3.10.14
go 2-m.go 410ms 1.5ms 13.9MB 847ms 13ms go 1.23.3
java 1.java 415ms 13ms 342.0MB 200ms 287ms openjdk/zgc 21
go 1.go 441ms 5.4ms 13.7MB 430ms 0ms tinygo 0.34.0
go 2.go 669ms 4.4ms 29.0MB 657ms 0ms tinygo 0.34.0
php 1.php 832ms 8.5ms 67.2MB 797ms 17ms php 8.2.25
lua 1.lua 1122ms 32ms 31.0MB 1097ms 10ms luajit 2.1.0-beta3
haxe 1.hx 1284ms 8.6ms 12.7MB 1243ms 117ms haxe/hl/c 4.3.6
haxe 1.hx 1311ms 1.1ms 22.3MB 1320ms 137ms haxe/hl/jit 1.14.0
lua 1.lua 2145ms 2.0ms 28.6MB 2120ms 10ms lua 5.4.7
ruby 1-m.rb 2264ms 138ms 544.5MB 5797ms 280ms truffleruby 24.1.1
python 1.py 2958ms 51ms 37.1MB 2937ms 7ms cpython 3.13.0
ruby 1.rb 3024ms 14ms 47.0MB 2983ms 27ms ruby/yjit 3.3.6
ruby 1.rb 4054ms 43ms 46.5MB 4003ms 33ms ruby 3.3.6
python 1.py timeout 0.0ms 48.9MB 4943ms 40ms pyston 3.8.12