All merkletrees problem benchmarks

Current benchmark data was generated on Mon Apr 14 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 314ms 2.9ms 63.6MB 290ms 20ms dart/exe 3.7.2
kotlin 1.kt 391ms 4.1ms 682.5MB 453ms 93ms kotlin/jvm 21
java 1.java 413ms 2.5ms 537.5MB 517ms 87ms openjdk 23
java 1.java 423ms 5.1ms 677.8MB 480ms 113ms openjdk 21
java 1-m.java 427ms 10ms 641.7MB 603ms 127ms graal/jvm 17.0.8
javascript 1-m.js 519ms 4.4ms 144.8MB 687ms 143ms bun 1.2.9
nim 1.nim 532ms 4.4ms 34.6MB 513ms 0ms nim 2.2.2
csharp 2.cs 540ms 13ms 119.9MB 497ms 83ms dotnet/aot 9.0.203
typescript 1.ts 562ms 8.3ms 227.8MB 570ms 110ms deno 2.2.9
javascript 1.js 576ms 13ms 130.3MB 670ms 63ms node 23.11.0
csharp 1.cs 601ms 11ms 145.0MB 553ms 110ms dotnet/aot 9.0.203
nim 1.nim 609ms 7.4ms 34.9MB 593ms 0ms nim/clang 2.2.2
csharp 2.cs 682ms 13ms 136.3MB 630ms 93ms dotnet 9.0.203
csharp 1.cs 702ms 20ms 168.5MB 643ms 127ms dotnet 9.0.203
rust 1.rs 703ms 1.4ms 33.8MB 680ms 10ms rustc 1.86.0
go 1.go 815ms 44ms 63.2MB 797ms 7ms tinygo 0.37.0
crystal 1.cr 843ms 7.3ms 64.0MB 823ms 10ms crystal 1.16.0
wasm 1.rs 885ms 5.7ms 41.3MB 857ms 10ms wasmtime 31.0.0
haxe 1.hx 902ms 4.4ms 95.1MB 1003ms 43ms haxe/cpp 4.3.6
zig 1.zig 905ms 67ms 41.0MB 880ms 10ms zig 0.14.0
d 1.d 993ms 10ms 312.6MB 957ms 40ms ldc2 1.40.1
java 1.java 1047ms 30ms 965.9MB 463ms 723ms openjdk/zgc 21
go 2.go 1122ms 7.5ms 54.9MB 1103ms 7ms tinygo 0.37.0
ocaml 1.ml 1141ms 35ms 70.2MB 1100ms 30ms ocaml 5.3.0
csharp 1.cs 1284ms 31ms 144.0MB 1490ms 167ms mono 6.12.0
go 1-m.go 1448ms 9.5ms 38.9MB 3070ms 33ms go 1.24.2
go 2-m.go 1677ms 13ms 43.0MB 3693ms 33ms go 1.24.2
d 1.d 1872ms 32ms 315.0MB 2010ms 43ms dmd 2.111.0
ocaml 2.ml 2156ms 13ms 91.8MB 2103ms 37ms ocaml 5.3.0
kotlin 1.kt 2170ms 19ms 88.8MB 2273ms 40ms kotlin/native 2.1.20
python 1.py 2227ms 9.2ms 202.8MB 2113ms 100ms pypy 3.10.16
acton 1.act 3301ms 20ms 102.0MB 3610ms 63ms actonc 0.24.1
php 1.php 4002ms 68ms 114.0MB 3960ms 27ms php 8.2.28
ruby 1-m.rb 4155ms 538ms 542.6MB 10537ms 360ms truffleruby 24.2.0
haxe 1.hx timeout 0.0ms 32.6MB 5047ms 467ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 55.1MB 6293ms 470ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 107.4MB 4947ms 37ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.3MB 4937ms 50ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 94.0MB 4960ms 27ms cpython 3.13.3
python 1.py timeout 0.0ms 130.4MB 4937ms 47ms 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.1MB 4943ms 40ms ruby/yjit 3.4.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 83ms 1.2ms 43.8MB 60ms 13ms dart/exe 3.7.2
nim 1.nim 113ms 0.7ms 9.6MB 100ms 0ms nim 2.2.2
javascript 1.js 120ms 1.1ms 86.9MB 110ms 30ms bun 1.2.9
csharp 2.cs 132ms 3.0ms 57.9MB 107ms 30ms dotnet/aot 9.0.203
nim 1.nim 134ms 2.0ms 9.9MB 123ms 0ms nim/clang 2.2.2
rust 1.rs 150ms 2.2ms 9.8MB 140ms 0ms rustc 1.86.0
csharp 1.cs 155ms 2.9ms 73.8MB 123ms 50ms dotnet/aot 9.0.203
typescript 1.ts 157ms 1.0ms 97.6MB 157ms 33ms deno 2.2.9
ocaml 1.ml 161ms 4.4ms 21.6MB 143ms 7ms ocaml 5.3.0
kotlin 1-m.kt 163ms 0.8ms 209.4MB 213ms 50ms kotlin/jvm 21
javascript 1.js 166ms 1.7ms 98.2MB 167ms 40ms node 23.11.0
java 1-m.java 171ms 3.8ms 206.1MB 240ms 50ms openjdk 21
java 1-m.java 171ms 0.9ms 158.6MB 250ms 43ms openjdk 23
crystal 1.cr 174ms 5.4ms 22.1MB 157ms 0ms crystal 1.16.0
haxe 1.hx 175ms 6.0ms 26.9MB 177ms 10ms haxe/cpp 4.3.6
go 1.go 176ms 3.7ms 9.8MB 163ms 0ms tinygo 0.37.0
zig 1.zig 178ms 2.5ms 11.0MB 170ms 0ms zig 0.14.0
wasm 1.rs 195ms 4.3ms 23.3MB 180ms 0ms wasmtime 31.0.0
d 1.d 201ms 1.6ms 312.6MB 163ms 27ms ldc2 1.40.1
go 2.go 207ms 2.5ms 17.1MB 190ms 0ms tinygo 0.37.0
java 1-m.java 215ms 11ms 253.5MB 353ms 63ms graal/jvm 17.0.8
csharp 2.cs 264ms 3.0ms 73.1MB 230ms 37ms dotnet 9.0.203
csharp 1.cs 267ms 2.8ms 69.3MB 240ms 33ms mono 6.12.0
csharp 1.cs 277ms 3.0ms 89.8MB 247ms 53ms dotnet 9.0.203
go 1-m.go 331ms 5.3ms 14.0MB 663ms 20ms go 1.24.2
d 1.d 361ms 8.8ms 315.1MB 330ms 27ms dmd 2.111.0
ocaml 2.ml 362ms 1.5ms 27.7MB 343ms 3ms ocaml 5.3.0
go 2-m.go 373ms 0.8ms 13.9MB 783ms 23ms go 1.24.2
python 1.py 384ms 2.6ms 105.2MB 327ms 43ms pypy 3.10.16
java 1.java 424ms 13ms 341.9MB 223ms 283ms openjdk/zgc 21
kotlin 1.kt 426ms 7.1ms 25.7MB 437ms 10ms kotlin/native 2.1.20
acton 1.act 703ms 11ms 30.4MB 740ms 27ms actonc 0.24.1
php 1.php 851ms 7.8ms 67.1MB 820ms 20ms php 8.2.28
haxe 1.hx 1321ms 16ms 10.8MB 1257ms 140ms haxe/hl/c 4.3.6
haxe 1.hx 1530ms 20ms 20.4MB 1577ms 137ms haxe/hl/jit 1.15.0
lua 1.lua 1626ms 22ms 31.1MB 1600ms 13ms luajit 2.1.0-beta3
ruby 1-m.rb 2026ms 131ms 594.1MB 5157ms 270ms truffleruby 24.2.0
lua 1.lua 2403ms 68ms 28.8MB 2380ms 10ms lua 5.4.7
ruby 1.rb 3422ms 26ms 38.3MB 3383ms 23ms ruby/yjit 3.4.2
python 1.py 3481ms 73ms 37.3MB 3450ms 20ms cpython 3.13.3
ruby 1.rb 4463ms 59ms 37.8MB 4427ms 27ms ruby 3.4.2
python 1.py timeout 0.0ms 48.9MB 4957ms 30ms pyston 3.8.12