All merkletrees problem benchmarks

Current benchmark data was generated on Thu May 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 306ms 4.3ms 63.8MB 277ms 33ms dart/exe 3.7.3
java 1.java 402ms 2.9ms 547.2MB 510ms 83ms openjdk 23
java 1.java 404ms 4.1ms 679.9MB 473ms 97ms openjdk 21
java 1-m.java 405ms 5.5ms 633.0MB 597ms 110ms graal/jvm 17.0.8
kotlin 1.kt 406ms 17ms 680.2MB 453ms 90ms kotlin/jvm 21
javascript 1-m.js 487ms 5.6ms 135.7MB 657ms 133ms bun 1.2.11
javascript 1.js 533ms 5.3ms 130.5MB 620ms 57ms node 23.11.0
csharp 2.cs 542ms 21ms 121.4MB 490ms 90ms dotnet/aot 9.0.203
nim 1.nim 545ms 3.9ms 34.9MB 523ms 7ms nim 2.2.4
typescript 1.ts 560ms 9.4ms 227.2MB 560ms 110ms deno 2.3.1
csharp 1.cs 603ms 8.7ms 143.3MB 557ms 117ms dotnet/aot 9.0.203
nim 1.nim 627ms 17ms 35.2MB 610ms 3ms nim/clang 2.2.4
csharp 2.cs 678ms 16ms 136.3MB 627ms 100ms dotnet 9.0.203
rust 1.rs 700ms 11ms 33.8MB 677ms 7ms rustc 1.86.0
csharp 1.cs 761ms 17ms 164.3MB 697ms 130ms dotnet 9.0.203
go 1.go 812ms 48ms 63.2MB 790ms 7ms tinygo 0.37.0
crystal 1.cr 846ms 6.4ms 64.2MB 823ms 10ms crystal 1.16.2
zig 1.zig 858ms 3.7ms 41.0MB 830ms 13ms zig 0.14.0
wasm 1.rs 885ms 0.7ms 43.7MB 860ms 10ms wasmtime 32.0.0
haxe 1.hx 907ms 2.4ms 95.0MB 997ms 50ms haxe/cpp 4.3.6
d 1.d 967ms 3.5ms 312.8MB 940ms 33ms ldc2 1.40.1
java 1.java 1035ms 24ms 958.9MB 473ms 707ms openjdk/zgc 21
ocaml 1.ml 1072ms 7.8ms 70.2MB 1030ms 23ms ocaml 5.3.0
go 2.go 1106ms 0.8ms 55.0MB 1090ms 0ms tinygo 0.37.0
csharp 1.cs 1306ms 19ms 140.5MB 1507ms 173ms mono 6.12.0
go 1-m.go 1446ms 5.8ms 41.0MB 3067ms 37ms go 1.24.2
go 2-m.go 1649ms 1.9ms 42.9MB 3640ms 33ms go 1.24.2
kotlin 1.kt 1821ms 13ms 89.8MB 1913ms 43ms kotlin/native 2.1.20
d 1.d 1868ms 4.0ms 314.4MB 1990ms 47ms dmd 2.111.0
ocaml 2.ml 2063ms 33ms 91.7MB 2003ms 47ms ocaml 5.3.0
python 1.py 2205ms 15ms 202.6MB 2087ms 107ms pypy 3.10.16
acton 1.act 3256ms 12ms 84.6MB 3660ms 60ms actonc 0.25.0
php 1.php 3693ms 23ms 113.8MB 3653ms 27ms php 8.2.28
ruby 1-m.rb 4011ms 237ms 549.1MB 10167ms 373ms truffleruby 24.2.1
haxe 1.hx timeout 0.0ms 32.6MB 4920ms 533ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 57.2MB 5820ms 470ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 107.4MB 4943ms 43ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.3MB 4940ms 47ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 93.9MB 4953ms 37ms cpython 3.13.3
python 1.py timeout 0.0ms 130.3MB 4937ms 50ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 93.5MB 4940ms 50ms ruby 3.4.3
ruby 1.rb timeout 0.0ms 97.2MB 4940ms 50ms ruby/yjit 3.4.3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 83ms 1.1ms 43.6MB 60ms 17ms dart/exe 3.7.3
javascript 1.js 115ms 2.7ms 87.3MB 100ms 30ms bun 1.2.11
nim 1.nim 117ms 2.0ms 9.6MB 107ms 0ms nim 2.2.4
nim 1.nim 133ms 1.1ms 9.9MB 120ms 0ms nim/clang 2.2.4
csharp 2.cs 135ms 2.4ms 57.2MB 110ms 30ms dotnet/aot 9.0.203
ocaml 1.ml 144ms 1.3ms 21.6MB 130ms 3ms ocaml 5.3.0
rust 1.rs 151ms 3.1ms 9.8MB 140ms 0ms rustc 1.86.0
typescript 1.ts 153ms 3.6ms 96.0MB 150ms 37ms deno 2.3.1
csharp 1.cs 157ms 2.1ms 74.5MB 120ms 53ms dotnet/aot 9.0.203
javascript 1.js 158ms 1.6ms 98.3MB 160ms 33ms node 23.11.0
kotlin 1-m.kt 159ms 7.9ms 207.3MB 207ms 40ms kotlin/jvm 21
java 1-m.java 163ms 2.7ms 158.7MB 237ms 47ms openjdk 23
java 1-m.java 165ms 0.4ms 207.1MB 237ms 37ms openjdk 21
haxe 1.hx 169ms 2.7ms 26.6MB 167ms 10ms haxe/cpp 4.3.6
go 1.go 174ms 1.1ms 9.8MB 160ms 0ms tinygo 0.37.0
crystal 1.cr 175ms 0.8ms 22.2MB 160ms 0ms crystal 1.16.2
zig 1.zig 180ms 6.0ms 11.0MB 163ms 0ms zig 0.14.0
wasm 1.rs 197ms 2.7ms 23.7MB 183ms 0ms wasmtime 32.0.0
d 1.d 204ms 1.2ms 312.5MB 170ms 27ms ldc2 1.40.1
go 2.go 205ms 4.5ms 17.1MB 187ms 0ms tinygo 0.37.0
java 1-m.java 214ms 5.9ms 253.7MB 350ms 67ms graal/jvm 17.0.8
csharp 2.cs 258ms 7.0ms 74.8MB 223ms 40ms dotnet 9.0.203
csharp 1.cs 258ms 0.7ms 69.4MB 233ms 30ms mono 6.12.0
kotlin 1.kt 259ms 1.7ms 24.9MB 263ms 10ms kotlin/native 2.1.20
csharp 1.cs 281ms 5.4ms 89.5MB 237ms 57ms dotnet 9.0.203
go 1-m.go 329ms 1.3ms 12.2MB 667ms 23ms go 1.24.2
ocaml 2.ml 352ms 1.6ms 27.7MB 333ms 7ms ocaml 5.3.0
d 1.d 363ms 1.3ms 314.8MB 330ms 30ms dmd 2.111.0
go 2-m.go 373ms 3.4ms 13.8MB 783ms 27ms go 1.24.2
python 1.py 374ms 1.8ms 105.3MB 317ms 40ms pypy 3.10.16
java 1.java 420ms 20ms 341.6MB 217ms 277ms openjdk/zgc 21
acton 1.act 693ms 11ms 24.0MB 760ms 33ms actonc 0.25.0
php 1.php 826ms 1.9ms 66.9MB 790ms 23ms php 8.2.28
lua 1.lua 1081ms 4.4ms 31.3MB 1053ms 13ms luajit 2.1.0-beta3
haxe 1.hx 1299ms 6.1ms 10.7MB 1237ms 143ms haxe/hl/c 4.3.6
haxe 1.hx 1319ms 7.8ms 20.4MB 1340ms 123ms haxe/hl/jit 1.15.0
ruby 1-m.rb 2063ms 65ms 556.4MB 5307ms 257ms truffleruby 24.2.1
lua 1.lua 2159ms 20ms 28.8MB 2140ms 7ms lua 5.4.7
python 1.py 2897ms 36ms 37.3MB 2873ms 10ms cpython 3.13.3
ruby 1.rb 3317ms 15ms 38.3MB 3287ms 17ms ruby/yjit 3.4.3
ruby 1.rb 4340ms 9.9ms 37.6MB 4307ms 20ms ruby 3.4.3
python 1.py timeout 0.0ms 48.9MB 4940ms 50ms pyston 3.8.12