All merkletrees problem benchmarks

Current benchmark data was generated on Tue Apr 01 2025, 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 317ms 5.5ms 63.9MB 290ms 27ms dart/exe 3.7.2
kotlin 1.kt 352ms 1.5ms 679.4MB 377ms 83ms kotlin/jvm 21
java 1.java 403ms 6.5ms 679.3MB 460ms 100ms openjdk 21
java 1.java 404ms 6.2ms 543.6MB 507ms 87ms openjdk 23
java 1-m.java 415ms 10ms 628.4MB 613ms 107ms graal/jvm 17.0.8
javascript 1-m.js 474ms 4.8ms 137.9MB 620ms 120ms bun 1.2.8
nim 1.nim 526ms 2.3ms 34.6MB 510ms 3ms nim 2.2.2
javascript 1.js 531ms 2.6ms 130.3MB 617ms 60ms node 23.10.0
typescript 1.ts 562ms 2.9ms 226.1MB 567ms 110ms deno 2.2.6
csharp 2.cs 566ms 11ms 120.7MB 500ms 93ms dotnet/aot 9.0.202
csharp 1.cs 614ms 8.4ms 150.1MB 553ms 133ms dotnet/aot 9.0.202
nim 1.nim 651ms 20ms 35.0MB 633ms 3ms nim/clang 2.2.2
csharp 2.cs 668ms 5.9ms 137.7MB 627ms 87ms dotnet 9.0.202
csharp 1.cs 751ms 3.6ms 165.4MB 690ms 133ms dotnet 9.0.202
rust 1.rs 763ms 45ms 33.8MB 737ms 10ms rustc 1.85.1
go 1.go 830ms 47ms 63.1MB 810ms 7ms tinygo 0.37.0
zig 1.zig 866ms 5.7ms 41.0MB 840ms 13ms zig 0.14.0
crystal 1.cr 880ms 9.8ms 64.0MB 860ms 7ms crystal 1.15.1
haxe 1.hx 898ms 3.0ms 95.0MB 997ms 47ms haxe/cpp 4.3.6
wasm 1.rs 939ms 69ms 41.1MB 913ms 13ms wasmtime 31.0.0
d 1.d 987ms 6.0ms 312.7MB 953ms 40ms ldc2 1.40.1
java 1.java 1081ms 7.3ms 969.4MB 447ms 757ms openjdk/zgc 21
go 2.go 1142ms 24ms 55.0MB 1123ms 7ms tinygo 0.37.0
ocaml 1.ml 1191ms 6.6ms 70.2MB 1147ms 30ms ocaml 5.3.0
csharp 1.cs 1334ms 44ms 144.1MB 1567ms 170ms mono 6.12.0
go 1-m.go 1484ms 11ms 49.2MB 3163ms 40ms go 1.24.1
kotlin 1-m.kt 1492ms 19ms 134.5MB 2283ms 327ms kotlin/native 1.8.21
go 2-m.go 1707ms 26ms 42.9MB 3750ms 37ms go 1.24.1
d 1.d 1748ms 11ms 314.7MB 1867ms 50ms dmd 2.110.0
ocaml 2.ml 2201ms 47ms 91.8MB 2147ms 40ms ocaml 5.3.0
python 1.py 2230ms 7.0ms 202.6MB 2107ms 110ms pypy 3.10.16
acton 1.act 3317ms 14ms 101.9MB 3623ms 50ms actonc 0.24.1
php 1.php 4055ms 54ms 114.0MB 4010ms 30ms php 8.2.28
ruby 1-m.rb 4430ms 469ms 527.4MB 11217ms 380ms truffleruby 24.2.0
haxe 1.hx timeout 0.0ms 32.8MB 4963ms 503ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 55.0MB 6013ms 480ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 107.4MB 4947ms 40ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.4MB 4937ms 47ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 93.9MB 4953ms 33ms cpython 3.13.2
python 1.py timeout 0.0ms 130.4MB 4930ms 53ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 93.6MB 4933ms 50ms ruby 3.4.2
ruby 1.rb timeout 0.0ms 94.8MB 4940ms 50ms ruby/yjit 3.4.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 85ms 0.9ms 43.8MB 60ms 10ms dart/exe 3.7.2
nim 1.nim 115ms 1.7ms 9.6MB 103ms 0ms nim 2.2.2
javascript 1.js 117ms 0.3ms 86.8MB 100ms 33ms bun 1.2.8
kotlin 1.kt 132ms 4.0ms 208.5MB 157ms 33ms kotlin/jvm 21
nim 1.nim 135ms 1.5ms 9.9MB 120ms 0ms nim/clang 2.2.2
csharp 2.cs 137ms 4.4ms 58.4MB 100ms 40ms dotnet/aot 9.0.202
rust 1.rs 153ms 2.9ms 9.8MB 143ms 0ms rustc 1.85.1
typescript 1.ts 154ms 0.8ms 98.0MB 147ms 37ms deno 2.2.6
csharp 1.cs 159ms 9.7ms 74.8MB 123ms 50ms dotnet/aot 9.0.202
ocaml 1.ml 159ms 6.2ms 21.6MB 143ms 7ms ocaml 5.3.0
javascript 1.js 163ms 6.2ms 98.5MB 160ms 37ms node 23.10.0
crystal 1.cr 164ms 2.8ms 22.1MB 147ms 0ms crystal 1.15.1
haxe 1.hx 167ms 1.1ms 26.6MB 167ms 10ms haxe/cpp 4.3.6
java 1-m.java 168ms 0.6ms 158.6MB 250ms 40ms openjdk 23
java 1-m.java 170ms 0.4ms 206.2MB 240ms 50ms openjdk 21
zig 1.zig 177ms 1.1ms 11.0MB 160ms 0ms zig 0.14.0
go 1.go 179ms 3.9ms 9.8MB 163ms 0ms tinygo 0.37.0
d 1.d 198ms 3.5ms 312.6MB 160ms 27ms ldc2 1.40.1
wasm 1.rs 201ms 2.9ms 23.2MB 183ms 0ms wasmtime 31.0.0
go 2.go 217ms 6.8ms 17.1MB 203ms 3ms tinygo 0.37.0
java 1-m.java 218ms 17ms 253.4MB 360ms 60ms graal/jvm 17.0.8
csharp 2.cs 256ms 2.1ms 74.6MB 227ms 37ms dotnet 9.0.202
csharp 1.cs 267ms 5.4ms 69.4MB 240ms 33ms mono 6.12.0
csharp 1.cs 281ms 2.4ms 91.4MB 240ms 70ms dotnet 9.0.202
kotlin 1-m.kt 312ms 10ms 38.5MB 460ms 63ms kotlin/native 1.8.21
go 1-m.go 334ms 0.8ms 12.2MB 673ms 23ms go 1.24.1
d 1.d 339ms 2.9ms 314.9MB 307ms 27ms dmd 2.110.0
go 2-m.go 381ms 5.1ms 14.1MB 803ms 30ms go 1.24.1
python 1.py 386ms 6.3ms 105.1MB 327ms 50ms pypy 3.10.16
ocaml 2.ml 393ms 21ms 27.7MB 377ms 3ms ocaml 5.3.0
java 1.java 426ms 21ms 342.0MB 217ms 290ms openjdk/zgc 21
acton 1.act 708ms 5.3ms 30.5MB 750ms 30ms actonc 0.24.1
php 1.php 842ms 8.7ms 67.2MB 803ms 20ms php 8.2.28
lua 1.lua 1141ms 19ms 31.3MB 1117ms 10ms luajit 2.1.0-beta3
haxe 1.hx 1301ms 7.8ms 10.8MB 1233ms 140ms haxe/hl/c 4.3.6
haxe 1.hx 1456ms 27ms 20.3MB 1483ms 140ms haxe/hl/jit 1.15.0
ruby 1-m.rb 1938ms 44ms 591.3MB 5030ms 250ms truffleruby 24.2.0
lua 1.lua 2248ms 30ms 28.6MB 2223ms 10ms lua 5.4.7
python 1.py 3162ms 61ms 37.1MB 3137ms 13ms cpython 3.13.2
ruby 1.rb 3421ms 15ms 38.3MB 3377ms 30ms ruby/yjit 3.4.2
ruby 1.rb 4437ms 12ms 37.8MB 4397ms 27ms ruby 3.4.2
python 1.py timeout 0.0ms 48.9MB 4953ms 33ms pyston 3.8.12