All merkletrees problem benchmarks

Current benchmark data was generated on Mon Jun 23 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 331ms 1.4ms 63.8MB 307ms 27ms dart/exe 3.8.1
kotlin 1.kt 394ms 11ms 680.4MB 447ms 93ms kotlin/jvm 21
java 1.java 399ms 2.4ms 541.9MB 497ms 87ms openjdk 23
java 1.java 408ms 5.6ms 680.1MB 483ms 90ms openjdk 21
java 1-m.java 440ms 67ms 657.5MB 653ms 120ms graal/jvm 17.0.8
javascript 1-m.js 473ms 10ms 137.8MB 617ms 117ms bun 1.2.17
csharp 2.cs 529ms 15ms 121.1MB 490ms 90ms dotnet/aot 9.0.301
javascript 1.js 565ms 6.5ms 230.7MB 567ms 110ms node 24.2.0
nim 1.nim 568ms 19ms 34.9MB 550ms 3ms nim 2.2.4
typescript 1.ts 576ms 2.4ms 228.4MB 583ms 113ms deno 2.3.6
csharp 1.cs 591ms 6.0ms 143.1MB 560ms 107ms dotnet/aot 9.0.301
nim 1.nim 633ms 12ms 34.2MB 617ms 3ms nim/clang 2.2.4
csharp 2.cs 689ms 3.3ms 136.1MB 640ms 97ms dotnet 9.0.301
rust 1.rs 708ms 3.5ms 33.8MB 683ms 10ms rustc 1.87.0
csharp 1.cs 796ms 22ms 168.8MB 747ms 127ms dotnet 9.0.301
crystal 1.cr 880ms 16ms 64.2MB 857ms 10ms crystal 1.16.3
wasm 1.rs 903ms 21ms 41.8MB 877ms 10ms wasmtime 34.0.0
zig 1.zig 913ms 47ms 41.0MB 887ms 10ms zig 0.14.1
haxe 1.hx 922ms 7.4ms 95.0MB 1027ms 47ms haxe/cpp 4.3.6
go 1.go 1049ms 0.9ms 35.4MB 1030ms 0ms tinygo 0.38.0
java 1.java 1057ms 29ms 961.6MB 450ms 737ms openjdk/zgc 21
ocaml 1.ml 1094ms 11ms 70.2MB 1047ms 30ms ocaml 5.3.0
d 1.d 1113ms 6.0ms 312.4MB 1077ms 37ms ldc2 1.41.0
csharp 1.cs 1276ms 14ms 140.6MB 1483ms 157ms mono 6.12.0
go 2.go 1343ms 6.2ms 51.9MB 1317ms 10ms tinygo 0.38.0
go 1-m.go 1463ms 6.3ms 38.9MB 3117ms 33ms go 1.24.4
go 2-m.go 1677ms 22ms 40.9MB 3687ms 33ms go 1.24.4
d 1.d 1847ms 15ms 314.6MB 1973ms 47ms dmd 2.111.0
kotlin 1.kt 1937ms 26ms 90.4MB 2023ms 40ms kotlin/native 2.1.20
ocaml 2.ml 2066ms 16ms 91.8MB 2013ms 33ms ocaml 5.3.0
python 1.py 2233ms 15ms 202.7MB 2127ms 97ms pypy 3.10.16
acton 1.act 3685ms 246ms 84.6MB 4110ms 77ms actonc 0.26.0
php 1.php 3756ms 39ms 113.6MB 3717ms 23ms php 8.2.28
ruby 1-m.rb 3904ms 35ms 557.5MB 9970ms 347ms truffleruby 24.2.1
haxe 1.hx timeout 0.0ms 32.6MB 4987ms 523ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 55.1MB 5913ms 467ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 107.4MB 4953ms 33ms 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.1MB 4957ms 33ms cpython 3.13.5
python 1.py timeout 0.0ms 130.4MB 4937ms 50ms 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.2MB 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 87ms 0.6ms 43.8MB 60ms 17ms dart/exe 3.8.1
javascript 1.js 116ms 2.9ms 84.8MB 100ms 33ms bun 1.2.17
nim 1.nim 119ms 2.4ms 9.6MB 107ms 0ms nim 2.2.4
csharp 2.cs 129ms 4.6ms 57.3MB 103ms 30ms dotnet/aot 9.0.301
nim 1.nim 138ms 2.2ms 9.9MB 127ms 0ms nim/clang 2.2.4
ocaml 1.ml 147ms 4.1ms 21.7MB 130ms 7ms ocaml 5.3.0
rust 1.rs 151ms 2.0ms 9.8MB 140ms 0ms rustc 1.87.0
kotlin 1-m.kt 159ms 3.2ms 207.4MB 210ms 43ms kotlin/jvm 21
javascript 1.js 160ms 2.6ms 101.3MB 157ms 40ms node 24.2.0
csharp 1.cs 161ms 5.6ms 74.5MB 120ms 53ms dotnet/aot 9.0.301
java 1-m.java 162ms 3.2ms 158.1MB 240ms 33ms openjdk 23
java 1-m.java 165ms 0.9ms 206.3MB 233ms 43ms openjdk 21
typescript 1.ts 169ms 16ms 99.0MB 160ms 40ms deno 2.3.6
crystal 1.cr 173ms 3.0ms 22.2MB 157ms 0ms crystal 1.16.3
haxe 1.hx 174ms 2.4ms 26.6MB 173ms 13ms haxe/cpp 4.3.6
zig 1.zig 178ms 4.2ms 11.0MB 163ms 0ms zig 0.14.1
wasm 1.rs 196ms 4.9ms 23.8MB 180ms 0ms wasmtime 34.0.0
go 1.go 211ms 4.8ms 11.6MB 197ms 0ms tinygo 0.38.0
java 1-m.java 213ms 5.0ms 253.5MB 343ms 70ms graal/jvm 17.0.8
d 1.d 226ms 1.5ms 312.5MB 190ms 23ms ldc2 1.41.0
go 2.go 258ms 3.7ms 15.4MB 247ms 0ms tinygo 0.38.0
csharp 1.cs 265ms 3.3ms 69.4MB 240ms 30ms mono 6.12.0
csharp 2.cs 272ms 4.1ms 75.6MB 230ms 47ms dotnet 9.0.301
csharp 1.cs 287ms 3.4ms 89.4MB 250ms 63ms dotnet 9.0.301
kotlin 1.kt 288ms 11ms 25.8MB 290ms 10ms kotlin/native 2.1.20
go 1-m.go 340ms 9.7ms 12.1MB 670ms 23ms go 1.24.4
d 1.d 357ms 2.6ms 314.8MB 323ms 30ms dmd 2.111.0
ocaml 2.ml 367ms 7.6ms 27.7MB 343ms 7ms ocaml 5.3.0
go 2-m.go 372ms 0.6ms 14.0MB 787ms 20ms go 1.24.4
python 1.py 385ms 7.0ms 104.8MB 327ms 43ms pypy 3.10.16
java 1.java 415ms 9.6ms 341.9MB 217ms 273ms openjdk/zgc 21
acton 1.act 755ms 11ms 23.9MB 830ms 40ms actonc 0.26.0
php 1.php 823ms 5.4ms 66.8MB 787ms 20ms php 8.2.28
lua 1.lua 1200ms 56ms 31.1MB 1170ms 17ms luajit 2.1.0-beta3
haxe 1.hx 1325ms 25ms 20.3MB 1353ms 123ms haxe/hl/jit 1.15.0
haxe 1.hx 1377ms 28ms 10.8MB 1313ms 153ms haxe/hl/c 4.3.6
ruby 1-m.rb 2022ms 35ms 597.2MB 5207ms 257ms truffleruby 24.2.1
lua 1.lua 2310ms 37ms 28.6MB 2290ms 7ms lua 5.4.7
python 1.py 3165ms 60ms 37.3MB 3140ms 13ms cpython 3.13.5
ruby 1.rb 3278ms 18ms 38.4MB 3243ms 20ms ruby/yjit 3.4.4
ruby 1.rb 4357ms 20ms 37.6MB 4323ms 20ms ruby 3.4.4
python 1.py timeout 0.0ms 48.9MB 4963ms 23ms pyston 3.8.12