All merkletrees problem benchmarks

Current benchmark data was generated on Wed Jan 22 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 329ms 1.4ms 63.6MB 310ms 20ms dart/exe 3.6.1
kotlin 1.kt 344ms 1.7ms 679.6MB 383ms 67ms kotlin/jvm 21
java 1-m.java 397ms 2.9ms 630.4MB 593ms 97ms graal/jvm 17.0.8
java 1.java 401ms 1.0ms 537.3MB 483ms 103ms openjdk 23
java 1.java 401ms 4.9ms 679.9MB 467ms 90ms openjdk 21
javascript 1-m.js 485ms 10ms 141.8MB 623ms 127ms bun 1.1.45
typescript 1.ts 524ms 3.4ms 131.5MB 610ms 53ms deno 2.1.7
javascript 1.js 526ms 3.4ms 134.5MB 583ms 83ms node 23.6.0
csharp 2.cs 540ms 17ms 126.2MB 480ms 90ms dotnet/aot 9.0.102
nim 1.nim 559ms 9.0ms 34.9MB 540ms 7ms nim 2.2.0
csharp 1.cs 585ms 1.6ms 153.7MB 523ms 133ms dotnet/aot 9.0.102
nim 1.nim 622ms 12ms 34.7MB 607ms 3ms nim/clang 2.2.0
csharp 2.cs 687ms 11ms 142.9MB 637ms 97ms dotnet 9.0.102
rust 1.rs 694ms 5.4ms 33.8MB 673ms 7ms rustc 1.84.0
csharp 1.cs 740ms 30ms 169.4MB 690ms 120ms dotnet 9.0.102
zig 1.zig 831ms 6.3ms 41.1MB 800ms 17ms zig 0.13.0
crystal 1.cr 860ms 29ms 64.1MB 830ms 10ms crystal 1.15.0
wasm 1.rs 886ms 9.9ms 45.3MB 853ms 17ms wasmtime 29.0.1
haxe 1.hx 917ms 8.2ms 96.9MB 1023ms 43ms haxe/cpp 4.3.6
d 1.d 931ms 5.5ms 312.4MB 897ms 33ms ldc2 1.40.0
ocaml 1.ml 1060ms 22ms 71.2MB 1023ms 27ms ocaml 5.3.0
java 1.java 1072ms 7.5ms 966.2MB 473ms 723ms openjdk/zgc 21
csharp 1.cs 1320ms 56ms 146.4MB 1527ms 183ms mono 6.12.0
kotlin 1-m.kt 1514ms 66ms 136.5MB 2323ms 343ms kotlin/native 1.8.21
go 1-m.go 1620ms 14ms 38.8MB 3270ms 40ms go 1.23.5
d 1.d 1752ms 41ms 314.8MB 1887ms 33ms dmd 2.109.1
go 2-m.go 1834ms 9.4ms 42.9MB 3840ms 37ms go 1.23.5
go 1.go 2011ms 29ms 52.2MB 2000ms 0ms tinygo 0.35.0
ocaml 2.ml 2025ms 10ms 91.8MB 1973ms 37ms ocaml 5.3.0
python 1.py 2276ms 12ms 209.9MB 2153ms 103ms pypy 3.10.14
acton 1.act 3246ms 7.1ms 101.8MB 3543ms 43ms actonc 0.24.1
go 2.go 3279ms 28ms 90.6MB 3257ms 7ms tinygo 0.35.0
php 1.php 3744ms 64ms 113.9MB 3703ms 23ms php 8.2.27
ruby 1-m.rb 4708ms 225ms 552.6MB 12003ms 397ms truffleruby 24.1.2
haxe 1.hx timeout 0.0ms 34.5MB 4907ms 497ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 59.1MB 6110ms 440ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 107.5MB 4940ms 47ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.3MB 4933ms 47ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 93.9MB 4953ms 33ms cpython 3.13.1
python 1.py timeout 0.0ms 130.4MB 4923ms 57ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 93.6MB 4947ms 40ms ruby 3.4.1
ruby 1.rb timeout 0.0ms 97.4MB 4930ms 53ms ruby/yjit 3.4.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 86ms 1.3ms 43.6MB 60ms 20ms dart/exe 3.6.1
nim 1.nim 117ms 1.1ms 9.6MB 103ms 0ms nim 2.2.0
javascript 1.js 119ms 1.0ms 87.0MB 107ms 27ms bun 1.1.45
kotlin 1.kt 127ms 2.3ms 208.6MB 157ms 30ms kotlin/jvm 21
nim 1.nim 131ms 5.5ms 9.9MB 113ms 0ms nim/clang 2.2.0
csharp 2.cs 135ms 1.9ms 64.0MB 103ms 33ms dotnet/aot 9.0.102
ocaml 1.ml 148ms 2.0ms 21.6MB 133ms 0ms ocaml 5.3.0
rust 1.rs 151ms 3.7ms 9.8MB 137ms 0ms rustc 1.84.0
csharp 1.cs 153ms 2.5ms 80.5MB 120ms 43ms dotnet/aot 9.0.102
javascript 1.js 157ms 2.1ms 102.3MB 137ms 47ms node 23.6.0
typescript 1.ts 158ms 1.3ms 99.4MB 160ms 30ms deno 2.1.7
java 1-m.java 164ms 3.1ms 207.5MB 237ms 40ms openjdk 21
java 1-m.java 164ms 2.2ms 160.1MB 243ms 37ms openjdk 23
zig 1.zig 170ms 0.9ms 11.1MB 153ms 0ms zig 0.13.0
haxe 1.hx 174ms 3.9ms 28.6MB 173ms 10ms haxe/cpp 4.3.6
crystal 1.cr 178ms 4.4ms 22.0MB 160ms 3ms crystal 1.15.0
wasm 1.rs 192ms 0.4ms 25.3MB 177ms 3ms wasmtime 29.0.1
d 1.d 194ms 3.6ms 312.7MB 150ms 33ms ldc2 1.40.0
java 1-m.java 207ms 1.6ms 255.6MB 343ms 57ms graal/jvm 17.0.8
csharp 1.cs 260ms 7.3ms 69.5MB 233ms 33ms mono 6.12.0
csharp 2.cs 263ms 7.3ms 82.8MB 210ms 47ms dotnet 9.0.102
csharp 1.cs 288ms 18ms 99.0MB 240ms 50ms dotnet 9.0.102
kotlin 1-m.kt 302ms 3.5ms 40.6MB 430ms 70ms kotlin/native 1.8.21
d 1.d 337ms 4.7ms 314.8MB 300ms 27ms dmd 2.109.1
ocaml 2.ml 352ms 1.6ms 27.7MB 327ms 7ms ocaml 5.3.0
go 1-m.go 362ms 1.2ms 12.1MB 700ms 20ms go 1.23.5
python 1.py 389ms 1.4ms 103.6MB 330ms 43ms pypy 3.10.14
go 1.go 400ms 4.7ms 13.4MB 390ms 0ms tinygo 0.35.0
go 2-m.go 404ms 1.6ms 14.1MB 820ms 17ms go 1.23.5
java 1.java 432ms 23ms 343.8MB 200ms 307ms openjdk/zgc 21
go 2.go 600ms 8.5ms 29.8MB 590ms 0ms tinygo 0.35.0
acton 1.act 691ms 2.3ms 32.5MB 723ms 30ms actonc 0.24.1
php 1.php 826ms 9.2ms 67.1MB 787ms 23ms php 8.2.27
lua 1.lua 1152ms 5.2ms 31.1MB 1120ms 17ms luajit 2.1.0-beta3
haxe 1.hx 1287ms 11ms 12.8MB 1217ms 143ms haxe/hl/c 4.3.6
haxe 1.hx 1312ms 13ms 22.2MB 1310ms 143ms haxe/hl/jit 1.14.0
ruby 1-m.rb 2277ms 144ms 640.9MB 5863ms 277ms truffleruby 24.1.2
lua 1.lua 2299ms 31ms 28.6MB 2263ms 20ms lua 5.4.7
python 1.py 3030ms 33ms 37.1MB 3000ms 17ms cpython 3.13.1
ruby 1.rb 3244ms 3.3ms 38.4MB 3200ms 23ms ruby/yjit 3.4.1
ruby 1.rb 4268ms 4.5ms 37.6MB 4237ms 17ms ruby 3.4.1
python 1.py timeout 0.0ms 48.9MB 4937ms 47ms pyston 3.8.12