All merkletrees problem benchmarks

Current benchmark data was generated on Tue Mar 25 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 323ms 0.9ms 63.8MB 300ms 23ms dart/exe 3.7.2
kotlin 1.kt 361ms 2.6ms 681.5MB 383ms 97ms kotlin/jvm 21
java 1.java 402ms 1.4ms 539.4MB 503ms 83ms openjdk 23
java 1.java 403ms 0.8ms 679.7MB 470ms 100ms openjdk 21
java 1-m.java 407ms 4.5ms 624.7MB 617ms 97ms graal/jvm 17.0.8
javascript 1-m.js 493ms 5.5ms 143.4MB 640ms 137ms bun 1.2.6
nim 1.nim 545ms 5.4ms 34.6MB 527ms 0ms nim 2.2.2
javascript 1.js 552ms 10ms 130.6MB 640ms 70ms node 23.10.0
typescript 1.ts 574ms 4.6ms 228.2MB 583ms 110ms deno 2.2.5
csharp 2.cs 584ms 14ms 120.7MB 530ms 90ms dotnet/aot 9.0.202
nim 1.nim 618ms 12ms 34.9MB 597ms 3ms nim/clang 2.2.2
csharp 1.cs 643ms 4.4ms 149.1MB 590ms 130ms dotnet/aot 9.0.202
csharp 2.cs 676ms 4.0ms 135.9MB 640ms 93ms dotnet 9.0.202
rust 1.rs 708ms 3.7ms 33.8MB 683ms 10ms rustc 1.85.1
csharp 1.cs 786ms 10ms 170.1MB 717ms 137ms dotnet 9.0.202
crystal 1.cr 864ms 6.5ms 64.0MB 843ms 10ms crystal 1.15.1
zig 1.zig 878ms 6.2ms 41.0MB 853ms 10ms zig 0.14.0
go 1.go 886ms 4.8ms 63.1MB 863ms 10ms tinygo 0.37.0
wasm 1.rs 906ms 18ms 41.1MB 880ms 10ms wasmtime 31.0.0
haxe 1.hx 921ms 13ms 95.0MB 1030ms 47ms haxe/cpp 4.3.6
d 1.d 988ms 12ms 312.6MB 960ms 33ms ldc2 1.40.1
ocaml 1.ml 1104ms 1.1ms 70.3MB 1060ms 30ms ocaml 5.3.0
java 1.java 1109ms 14ms 993.0MB 460ms 777ms openjdk/zgc 21
go 2.go 1140ms 2.7ms 55.0MB 1113ms 10ms tinygo 0.37.0
csharp 1.cs 1310ms 9.0ms 139.7MB 1530ms 160ms mono 6.12.0
go 1-m.go 1477ms 1.1ms 45.0MB 3100ms 50ms go 1.24.1
kotlin 1-m.kt 1532ms 6.5ms 134.6MB 2337ms 353ms kotlin/native 1.8.21
go 2-m.go 1708ms 9.0ms 40.9MB 3773ms 33ms go 1.24.1
d 1.d 1785ms 13ms 314.7MB 1923ms 40ms dmd 2.110.0
python 1.py 2242ms 13ms 202.7MB 2123ms 100ms pypy 3.10.16
ocaml 2.ml 2279ms 5.8ms 91.8MB 2220ms 43ms ocaml 5.3.0
acton 1.act 3317ms 13ms 102.0MB 3620ms 57ms actonc 0.24.1
php 1.php 3793ms 53ms 114.0MB 3750ms 30ms php 8.2.28
ruby 1-m.rb 3955ms 22ms 606.4MB 10090ms 377ms truffleruby 24.2.0
haxe 1.hx timeout 0.0ms 32.6MB 5003ms 510ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 55.1MB 6120ms 473ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 107.5MB 4950ms 33ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.3MB 4927ms 60ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 93.6MB 4953ms 30ms cpython 3.13.2
python 1.py timeout 0.0ms 130.4MB 4930ms 53ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 94.3MB 4940ms 50ms ruby 3.4.2
ruby 1.rb timeout 0.0ms 94.1MB 4933ms 53ms ruby/yjit 3.4.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 86ms 0.7ms 43.8MB 60ms 17ms dart/exe 3.7.2
nim 1.nim 116ms 0.7ms 9.6MB 100ms 0ms nim 2.2.2
javascript 1.js 120ms 0.9ms 87.8MB 107ms 33ms bun 1.2.6
kotlin 1.kt 133ms 0.6ms 208.5MB 157ms 37ms kotlin/jvm 21
nim 1.nim 134ms 1.4ms 9.9MB 120ms 0ms nim/clang 2.2.2
csharp 2.cs 146ms 5.1ms 56.7MB 110ms 40ms dotnet/aot 9.0.202
ocaml 1.ml 149ms 3.1ms 21.6MB 130ms 7ms ocaml 5.3.0
rust 1.rs 153ms 0.3ms 9.8MB 140ms 0ms rustc 1.85.1
crystal 1.cr 157ms 3.4ms 22.1MB 143ms 0ms crystal 1.15.1
typescript 1.ts 158ms 4.2ms 96.5MB 157ms 37ms deno 2.2.5
csharp 1.cs 162ms 5.8ms 74.4MB 130ms 47ms dotnet/aot 9.0.202
java 1-m.java 163ms 1.4ms 158.5MB 237ms 47ms openjdk 23
javascript 1.js 165ms 1.9ms 98.3MB 163ms 37ms node 23.10.0
java 1-m.java 167ms 4.0ms 206.4MB 237ms 47ms openjdk 21
go 1.go 175ms 2.5ms 9.8MB 160ms 0ms tinygo 0.37.0
haxe 1.hx 176ms 6.0ms 26.6MB 180ms 10ms haxe/cpp 4.3.6
zig 1.zig 181ms 5.2ms 11.0MB 167ms 0ms zig 0.14.0
d 1.d 198ms 1.8ms 312.7MB 163ms 23ms ldc2 1.40.1
wasm 1.rs 198ms 6.2ms 23.1MB 180ms 0ms wasmtime 31.0.0
go 2.go 209ms 3.5ms 17.1MB 193ms 0ms tinygo 0.37.0
java 1-m.java 214ms 4.0ms 253.3MB 350ms 63ms graal/jvm 17.0.8
csharp 1.cs 266ms 4.9ms 69.5MB 233ms 37ms mono 6.12.0
csharp 2.cs 266ms 1.7ms 74.3MB 227ms 37ms dotnet 9.0.202
csharp 1.cs 276ms 1.3ms 89.6MB 247ms 53ms dotnet 9.0.202
kotlin 1-m.kt 312ms 1.7ms 38.5MB 457ms 73ms kotlin/native 1.8.21
go 1-m.go 343ms 10ms 12.3MB 687ms 17ms go 1.24.1
d 1.d 350ms 9.4ms 314.7MB 320ms 27ms dmd 2.110.0
go 2-m.go 376ms 1.3ms 14.0MB 800ms 27ms go 1.24.1
python 1.py 384ms 3.7ms 105.2MB 320ms 47ms pypy 3.10.16
ocaml 2.ml 396ms 3.4ms 27.7MB 377ms 7ms ocaml 5.3.0
java 1.java 427ms 11ms 341.8MB 217ms 287ms openjdk/zgc 21
acton 1.act 715ms 22ms 30.5MB 753ms 33ms actonc 0.24.1
php 1.php 832ms 5.8ms 67.1MB 793ms 23ms php 8.2.28
lua 1.lua 1193ms 7.0ms 31.3MB 1163ms 17ms luajit 2.1.0-beta3
haxe 1.hx 1311ms 3.0ms 10.8MB 1260ms 130ms haxe/hl/c 4.3.6
haxe 1.hx 1435ms 19ms 20.4MB 1457ms 143ms haxe/hl/jit 1.15.0
ruby 1-m.rb 2157ms 107ms 616.5MB 5503ms 283ms truffleruby 24.2.0
lua 1.lua 2269ms 74ms 28.6MB 2247ms 7ms lua 5.4.7
python 1.py 3229ms 20ms 37.2MB 3203ms 13ms cpython 3.13.2
ruby 1.rb 3496ms 172ms 38.3MB 3457ms 23ms ruby/yjit 3.4.2
ruby 1.rb 4445ms 2.9ms 37.8MB 4413ms 17ms ruby 3.4.2
python 1.py timeout 0.0ms 48.4MB 4963ms 23ms pyston 3.8.12