All merkletrees problem benchmarks

Current benchmark data was generated on Sun Jun 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 321ms 2.5ms 63.9MB 297ms 27ms dart/exe 3.8.1
kotlin 1.kt 384ms 3.9ms 680.1MB 450ms 87ms kotlin/jvm 21
java 1.java 398ms 1.9ms 544.5MB 497ms 87ms openjdk 23
java 1.java 399ms 2.7ms 679.6MB 473ms 90ms openjdk 21
java 1-m.java 404ms 8.2ms 633.5MB 610ms 97ms graal/jvm 17.0.8
javascript 1-m.js 463ms 1.1ms 136.5MB 613ms 113ms bun 1.2.15
csharp 2.cs 525ms 14ms 120.6MB 483ms 83ms dotnet/aot 9.0.300
nim 1.nim 546ms 4.1ms 33.9MB 530ms 3ms nim 2.2.4
typescript 1.ts 552ms 0.2ms 228.4MB 557ms 103ms deno 2.3.5
javascript 1.js 558ms 2.7ms 230.3MB 553ms 113ms node 24.1.0
csharp 1.cs 577ms 8.1ms 144.9MB 530ms 113ms dotnet/aot 9.0.300
nim 1.nim 627ms 11ms 35.2MB 607ms 10ms nim/clang 2.2.4
csharp 2.cs 666ms 14ms 136.1MB 620ms 100ms dotnet 9.0.300
rust 1.rs 690ms 2.4ms 33.8MB 667ms 7ms rustc 1.87.0
csharp 1.cs 749ms 4.3ms 166.8MB 690ms 137ms dotnet 9.0.300
crystal 1.cr 828ms 9.1ms 64.2MB 810ms 10ms crystal 1.16.3
zig 1.zig 856ms 8.4ms 41.0MB 830ms 10ms zig 0.14.1
wasm 1.rs 869ms 4.9ms 41.9MB 847ms 10ms wasmtime 33.0.0
go 1.go 877ms 10ms 63.2MB 857ms 10ms tinygo 0.37.0
haxe 1.hx 904ms 6.1ms 94.9MB 990ms 47ms haxe/cpp 4.3.6
d 1.d 946ms 6.7ms 312.4MB 913ms 33ms ldc2 1.40.1
java 1.java 1023ms 11ms 974.0MB 463ms 707ms openjdk/zgc 21
ocaml 1.ml 1076ms 24ms 70.2MB 1033ms 30ms ocaml 5.3.0
go 2.go 1100ms 11ms 55.0MB 1080ms 10ms tinygo 0.37.0
csharp 1.cs 1280ms 4.1ms 144.6MB 1447ms 180ms mono 6.12.0
go 1-m.go 1481ms 35ms 41.1MB 3197ms 37ms go 1.24.3
go 2-m.go 1665ms 17ms 43.1MB 3667ms 40ms go 1.24.3
kotlin 1.kt 1811ms 15ms 89.9MB 1887ms 43ms kotlin/native 2.1.20
d 1.d 1816ms 2.0ms 314.1MB 1930ms 47ms dmd 2.111.0
ocaml 2.ml 2078ms 22ms 91.8MB 2027ms 37ms ocaml 5.3.0
python 1.py 2223ms 4.3ms 202.6MB 2110ms 100ms pypy 3.10.16
acton 1.act 3258ms 55ms 84.4MB 3627ms 60ms actonc 0.25.0
php 1.php 3755ms 29ms 113.8MB 3717ms 27ms php 8.2.28
ruby 1-m.rb 4042ms 349ms 544.7MB 10327ms 353ms truffleruby 24.2.1
haxe 1.hx timeout 0.0ms 32.6MB 4917ms 523ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 57.0MB 5810ms 497ms 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 4927ms 57ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 94.0MB 4950ms 37ms cpython 3.13.3
python 1.py timeout 0.0ms 130.4MB 4933ms 53ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 93.5MB 4940ms 47ms ruby 3.4.4
ruby 1.rb timeout 0.0ms 97.4MB 4940ms 47ms ruby/yjit 3.4.4

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 86ms 1.4ms 43.8MB 60ms 17ms dart/exe 3.8.1
javascript 1.js 114ms 2.2ms 85.0MB 100ms 30ms bun 1.2.15
nim 1.nim 119ms 2.2ms 9.6MB 110ms 0ms nim 2.2.4
csharp 2.cs 127ms 4.7ms 57.1MB 100ms 30ms dotnet/aot 9.0.300
nim 1.nim 137ms 5.9ms 9.9MB 123ms 0ms nim/clang 2.2.4
ocaml 1.ml 146ms 3.2ms 21.6MB 127ms 3ms ocaml 5.3.0
typescript 1.ts 151ms 1.5ms 98.5MB 147ms 37ms deno 2.3.5
rust 1.rs 152ms 5.9ms 9.8MB 143ms 0ms rustc 1.87.0
csharp 1.cs 154ms 5.1ms 74.8MB 123ms 50ms dotnet/aot 9.0.300
javascript 1.js 156ms 1.2ms 100.3MB 150ms 33ms node 24.1.0
kotlin 1-m.kt 158ms 4.9ms 207.2MB 210ms 43ms kotlin/jvm 21
java 1-m.java 166ms 3.4ms 158.5MB 247ms 40ms openjdk 23
haxe 1.hx 170ms 3.1ms 26.6MB 173ms 10ms haxe/cpp 4.3.6
java 1-m.java 170ms 12ms 206.5MB 243ms 43ms openjdk 21
crystal 1.cr 172ms 4.4ms 22.3MB 160ms 0ms crystal 1.16.3
go 1.go 173ms 0.8ms 9.8MB 160ms 0ms tinygo 0.37.0
zig 1.zig 178ms 3.3ms 11.0MB 167ms 0ms zig 0.14.1
wasm 1.rs 193ms 3.5ms 26.0MB 177ms 0ms wasmtime 33.0.0
d 1.d 201ms 2.2ms 312.5MB 150ms 37ms ldc2 1.40.1
go 2.go 205ms 6.1ms 17.1MB 190ms 0ms tinygo 0.37.0
java 1-m.java 213ms 7.0ms 253.5MB 357ms 53ms graal/jvm 17.0.8
kotlin 1.kt 255ms 3.0ms 25.3MB 260ms 10ms kotlin/native 2.1.20
csharp 2.cs 262ms 8.0ms 75.8MB 220ms 43ms dotnet 9.0.300
csharp 1.cs 264ms 2.4ms 69.4MB 240ms 33ms mono 6.12.0
csharp 1.cs 276ms 3.6ms 93.0MB 247ms 53ms dotnet 9.0.300
go 1-m.go 333ms 1.3ms 12.2MB 673ms 23ms go 1.24.3
d 1.d 354ms 4.9ms 315.0MB 323ms 30ms dmd 2.111.0
ocaml 2.ml 355ms 5.3ms 27.7MB 337ms 3ms ocaml 5.3.0
go 2-m.go 373ms 2.6ms 13.9MB 797ms 23ms go 1.24.3
python 1.py 380ms 0.7ms 104.8MB 320ms 43ms pypy 3.10.16
java 1.java 412ms 7.1ms 341.9MB 213ms 277ms openjdk/zgc 21
acton 1.act 697ms 11ms 23.8MB 757ms 33ms actonc 0.25.0
php 1.php 838ms 4.0ms 67.2MB 800ms 20ms php 8.2.28
lua 1.lua 1103ms 2.6ms 31.0MB 1073ms 17ms luajit 2.1.0-beta3
haxe 1.hx 1298ms 40ms 20.3MB 1337ms 120ms haxe/hl/jit 1.15.0
haxe 1.hx 1307ms 5.9ms 10.8MB 1263ms 133ms haxe/hl/c 4.3.6
ruby 1-m.rb 2018ms 52ms 569.1MB 5267ms 243ms truffleruby 24.2.1
lua 1.lua 2131ms 17ms 28.6MB 2113ms 7ms lua 5.4.7
python 1.py 2901ms 23ms 37.3MB 2873ms 13ms cpython 3.13.3
ruby 1.rb 3259ms 25ms 38.3MB 3220ms 20ms ruby/yjit 3.4.4
ruby 1.rb 4347ms 35ms 37.6MB 4310ms 20ms ruby 3.4.4
python 1.py timeout 0.0ms 48.9MB 4943ms 43ms pyston 3.8.12