All merkletrees problem benchmarks

Current benchmark data was generated on Sun Jul 13 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 322ms 2.5ms 63.6MB 300ms 23ms dart/exe 3.8.1
kotlin 1.kt 387ms 9.9ms 680.6MB 443ms 93ms kotlin/jvm 21
java 1.java 401ms 5.9ms 544.3MB 500ms 87ms openjdk 23
java 1.java 403ms 2.1ms 680.0MB 480ms 87ms openjdk 21
java 1-m.java 444ms 62ms 669.4MB 667ms 113ms graal/jvm 17.0.8
javascript 1-m.js 468ms 20ms 136.0MB 607ms 117ms bun 1.2.18
csharp 2.cs 526ms 4.9ms 121.3MB 493ms 87ms dotnet/aot 9.0.302
nim 1.nim 547ms 6.1ms 33.9MB 527ms 3ms nim 2.2.4
typescript 1.ts 561ms 3.8ms 229.4MB 570ms 113ms deno 2.4.1
javascript 1.js 563ms 3.7ms 230.8MB 563ms 117ms node 24.4.0
csharp 1.cs 564ms 6.4ms 142.8MB 523ms 117ms dotnet/aot 9.0.302
nim 1.nim 645ms 20ms 34.7MB 623ms 7ms nim/clang 2.2.4
csharp 2.cs 679ms 6.1ms 137.4MB 627ms 103ms dotnet 9.0.302
csharp 1.cs 711ms 59ms 163.7MB 657ms 127ms dotnet 9.0.302
rust 1.rs 712ms 1.1ms 33.8MB 690ms 10ms rustc 1.88.0
crystal 1.cr 843ms 9.4ms 64.2MB 820ms 10ms crystal 1.16.3
zig 1.zig 866ms 9.9ms 41.0MB 833ms 17ms zig 0.14.1
wasm 1.rs 870ms 7.8ms 42.1MB 847ms 10ms wasmtime 34.0.1
haxe 1.hx 910ms 10ms 95.0MB 1013ms 50ms haxe/cpp 4.3.6
java 1.java 1021ms 2.8ms 934.5MB 470ms 697ms openjdk/zgc 21
go 1.go 1031ms 11ms 35.5MB 1010ms 7ms tinygo 0.38.0
ocaml 1.ml 1077ms 22ms 70.2MB 1037ms 27ms ocaml 5.3.0
d 1.d 1096ms 2.5ms 312.7MB 1057ms 40ms ldc2 1.41.0
csharp 1.cs 1278ms 6.5ms 140.5MB 1483ms 150ms mono 6.12.0
go 2.go 1380ms 20ms 51.9MB 1357ms 7ms tinygo 0.38.0
go 1-m.go 1434ms 9.9ms 41.0MB 3033ms 40ms go 1.24.5
go 2-m.go 1649ms 21ms 51.2MB 3610ms 33ms go 1.24.5
d 1.d 1850ms 6.1ms 314.9MB 1977ms 50ms dmd 2.111.0
kotlin 1.kt 1895ms 31ms 90.1MB 1967ms 43ms kotlin/native 2.1.20
ocaml 2.ml 2068ms 35ms 91.8MB 2017ms 37ms ocaml 5.3.0
python 1.py 2184ms 9.5ms 204.9MB 2073ms 97ms pypy 3.11.13
acton 1.act 3273ms 16ms 84.5MB 3657ms 63ms actonc 0.26.0
php 1.php 3739ms 55ms 113.6MB 3700ms 27ms php 8.2.29
ruby 1-m.rb 3861ms 33ms 612.1MB 9853ms 350ms truffleruby 24.2.1
haxe 1.hx timeout 0.0ms 32.6MB 4943ms 517ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 55.1MB 5973ms 470ms haxe/hl/jit 1.16.0
lua 1.lua timeout 0.0ms 107.4MB 4950ms 33ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.3MB 4933ms 57ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 94.1MB 4960ms 27ms cpython 3.13.5
python 1.py timeout 0.0ms 130.4MB 4940ms 47ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 93.5MB 4947ms 40ms ruby 3.4.4
ruby 1.rb timeout 0.0ms 97.4MB 4940ms 50ms ruby/yjit 3.4.4

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 85ms 1.9ms 43.8MB 60ms 17ms dart/exe 3.8.1
nim 1.nim 116ms 3.2ms 9.6MB 103ms 0ms nim 2.2.4
javascript 1.js 117ms 2.5ms 85.9MB 103ms 30ms bun 1.2.18
csharp 2.cs 133ms 7.7ms 56.9MB 103ms 33ms dotnet/aot 9.0.302
nim 1.nim 136ms 5.6ms 9.9MB 123ms 0ms nim/clang 2.2.4
ocaml 1.ml 144ms 1.4ms 21.7MB 127ms 3ms ocaml 5.3.0
csharp 1.cs 154ms 2.2ms 73.2MB 117ms 47ms dotnet/aot 9.0.302
rust 1.rs 154ms 4.0ms 9.8MB 143ms 0ms rustc 1.88.0
kotlin 1-m.kt 155ms 0.4ms 207.1MB 213ms 40ms kotlin/jvm 21
javascript 1.js 157ms 1.0ms 100.4MB 153ms 33ms node 24.4.0
typescript 1.ts 158ms 4.4ms 100.2MB 153ms 40ms deno 2.4.1
java 1-m.java 164ms 3.1ms 158.5MB 237ms 43ms openjdk 23
java 1-m.java 170ms 10ms 206.6MB 237ms 47ms openjdk 21
haxe 1.hx 174ms 3.9ms 26.6MB 180ms 10ms haxe/cpp 4.3.6
zig 1.zig 175ms 2.1ms 11.0MB 160ms 0ms zig 0.14.1
crystal 1.cr 178ms 3.9ms 22.2MB 163ms 0ms crystal 1.16.3
wasm 1.rs 192ms 2.6ms 24.1MB 177ms 0ms wasmtime 34.0.1
go 1.go 207ms 3.3ms 11.6MB 190ms 0ms tinygo 0.38.0
java 1-m.java 221ms 7.1ms 253.9MB 363ms 63ms graal/jvm 17.0.8
d 1.d 230ms 1.2ms 312.7MB 190ms 27ms ldc2 1.41.0
csharp 2.cs 257ms 2.2ms 76.0MB 230ms 33ms dotnet 9.0.302
go 2.go 259ms 3.2ms 15.4MB 243ms 0ms tinygo 0.38.0
csharp 1.cs 265ms 3.1ms 69.4MB 233ms 40ms mono 6.12.0
kotlin 1.kt 267ms 13ms 25.5MB 270ms 13ms kotlin/native 2.1.20
csharp 1.cs 278ms 5.2ms 90.1MB 253ms 50ms dotnet 9.0.302
go 1-m.go 325ms 2.6ms 12.2MB 653ms 23ms go 1.24.5
d 1.d 359ms 1.7ms 315.0MB 327ms 27ms dmd 2.111.0
ocaml 2.ml 359ms 6.4ms 27.7MB 340ms 7ms ocaml 5.3.0
go 2-m.go 368ms 1.3ms 14.3MB 783ms 17ms go 1.24.5
python 1.py 378ms 3.7ms 105.2MB 320ms 47ms pypy 3.11.13
java 1.java 411ms 7.8ms 341.9MB 223ms 267ms openjdk/zgc 21
acton 1.act 700ms 14ms 23.8MB 760ms 37ms actonc 0.26.0
php 1.php 830ms 14ms 67.0MB 793ms 20ms php 8.2.29
lua 1.lua 1101ms 2.2ms 31.1MB 1073ms 17ms luajit 2.1.0-beta3
haxe 1.hx 1303ms 5.0ms 10.7MB 1240ms 137ms haxe/hl/c 4.3.6
haxe 1.hx 1313ms 5.8ms 20.4MB 1327ms 127ms haxe/hl/jit 1.16.0
ruby 1-m.rb 2066ms 110ms 488.8MB 5300ms 230ms truffleruby 24.2.1
lua 1.lua 2187ms 8.5ms 28.6MB 2170ms 3ms lua 5.4.7
python 1.py 2994ms 19ms 37.4MB 2970ms 10ms cpython 3.13.5
ruby 1.rb 3236ms 25ms 38.3MB 3197ms 23ms ruby/yjit 3.4.4
ruby 1.rb 4321ms 12ms 37.6MB 4287ms 23ms ruby 3.4.4
python 1.py timeout 0.0ms 48.9MB 4943ms 43ms pyston 3.8.12