All merkletrees problem benchmarks

Current benchmark data was generated on Sun Dec 01 2024, 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 3.4ms 63.5MB 303ms 27ms dart/exe 3.5.4
kotlin 1.kt 353ms 4.0ms 679.4MB 377ms 90ms kotlin/jvm 21
java 1.java 401ms 2.9ms 679.9MB 473ms 90ms openjdk 21
java 1.java 405ms 5.1ms 539.3MB 507ms 87ms openjdk 23
java 1-m.java 417ms 30ms 635.2MB 610ms 123ms graal/jvm 17.0.8
javascript 1-m.js 510ms 1.8ms 138.7MB 657ms 147ms bun 1.1.38
javascript 1.js 538ms 0.3ms 134.0MB 627ms 60ms node 23.3.0
typescript 1.ts 548ms 3.5ms 134.6MB 640ms 63ms deno 2.1.2
nim 1.nim 556ms 11ms 34.4MB 540ms 0ms nim 2.2.0
csharp 2.cs 562ms 1.0ms 123.8MB 487ms 100ms dotnet/aot 9.0.100
csharp 1.cs 592ms 5.3ms 153.5MB 543ms 123ms dotnet/aot 9.0.100
nim 1.nim 619ms 4.0ms 35.2MB 600ms 7ms nim/clang 2.2.0
rust 1.rs 697ms 5.9ms 33.8MB 670ms 13ms rustc 1.83.0
csharp 2.cs 703ms 2.1ms 142.3MB 653ms 90ms dotnet 9.0.100
wasm 1.rs 774ms 5.0ms 61.2MB 737ms 23ms wasmer/llvm 5.0.2
csharp 1.cs 777ms 8.8ms 172.2MB 700ms 137ms dotnet 9.0.100
zig 1.zig 829ms 2.4ms 41.1MB 803ms 10ms zig 0.13.0
crystal 1.cr 833ms 8.7ms 81.7MB 817ms 3ms crystal 1.14.0
wasm 1.rs 868ms 25ms 42.9MB 840ms 13ms wasmtime 27.0.0
haxe 1.hx 926ms 34ms 96.9MB 1033ms 43ms haxe/cpp 4.3.6
d 1.d 945ms 3.3ms 312.5MB 900ms 43ms ldc2 1.39.0
ocaml 1.ml 1072ms 10ms 70.2MB 1030ms 27ms ocaml 5.2.1
java 1.java 1094ms 19ms 989.4MB 447ms 767ms openjdk/zgc 21
csharp 1.cs 1424ms 29ms 146.6MB 1683ms 207ms mono 6.12.0
kotlin 1-m.kt 1537ms 54ms 136.5MB 2363ms 343ms kotlin/native 1.8.21
go 1-m.go 1640ms 27ms 40.9MB 3297ms 47ms go 1.23.3
d 1.d 1727ms 10ms 314.5MB 1840ms 57ms dmd 2.109.1
go 2-m.go 1886ms 10ms 43.0MB 3980ms 47ms go 1.23.3
go 1.go 1934ms 5.2ms 52.1MB 1923ms 0ms tinygo 0.34.0
ocaml 2.ml 2064ms 47ms 91.7MB 2007ms 43ms ocaml 5.2.1
python 1.py 2247ms 43ms 210.1MB 2133ms 97ms pypy 3.10.14
go 2.go 3292ms 35ms 90.4MB 3277ms 0ms tinygo 0.34.0
acton 1.act 3348ms 28ms 104.1MB 3660ms 47ms actonc 0.24.1
php 1.php 3744ms 47ms 113.9MB 3703ms 20ms php 8.2.26
ruby 1-m.rb 4499ms 14ms 553.8MB 11583ms 350ms truffleruby 24.1.1
haxe 1.hx timeout 0.0ms 34.5MB 4910ms 500ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 57.0MB 5923ms 507ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 107.4MB 4943ms 37ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.4MB 4927ms 57ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 93.9MB 4953ms 30ms cpython 3.13.0
python 1.py timeout 0.0ms 130.3MB 4930ms 50ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 88.0MB 4917ms 70ms ruby 3.3.6
ruby 1.rb timeout 0.0ms 88.2MB 4910ms 70ms ruby/yjit 3.3.6

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 86ms 1.2ms 43.4MB 60ms 17ms dart/exe 3.5.4
nim 1.nim 122ms 2.0ms 9.6MB 107ms 0ms nim 2.2.0
javascript 1.js 124ms 3.0ms 86.3MB 103ms 37ms bun 1.1.38
kotlin 1-m.kt 131ms 0.9ms 206.5MB 157ms 40ms kotlin/jvm 21
nim 1.nim 131ms 4.4ms 9.9MB 120ms 0ms nim/clang 2.2.0
csharp 2.cs 143ms 0.7ms 65.3MB 103ms 37ms dotnet/aot 9.0.100
ocaml 1.ml 150ms 2.7ms 21.6MB 127ms 10ms ocaml 5.2.1
rust 1.rs 150ms 2.8ms 9.8MB 137ms 0ms rustc 1.83.0
csharp 1.cs 159ms 1.7ms 81.8MB 110ms 60ms dotnet/aot 9.0.100
typescript 1.ts 161ms 3.8ms 100.2MB 167ms 27ms deno 2.1.2
javascript 1.js 162ms 1.2ms 101.8MB 160ms 37ms node 23.3.0
crystal 1.cr 162ms 1.4ms 22.3MB 147ms 0ms crystal 1.14.0
java 1-m.java 166ms 3.4ms 159.1MB 243ms 40ms openjdk 23
java 1-m.java 166ms 2.4ms 206.3MB 243ms 40ms openjdk 21
zig 1.zig 168ms 1.4ms 11.1MB 157ms 0ms zig 0.13.0
haxe 1.hx 173ms 2.0ms 28.6MB 173ms 7ms haxe/cpp 4.3.6
wasm 1.rs 175ms 0.7ms 45.1MB 153ms 10ms wasmer/llvm 5.0.2
wasm 1.rs 192ms 10ms 24.9MB 180ms 3ms wasmtime 27.0.0
d 1.d 195ms 0.7ms 312.7MB 153ms 30ms ldc2 1.39.0
java 1-m.java 225ms 28ms 258.5MB 380ms 57ms graal/jvm 17.0.8
csharp 1.cs 269ms 7.6ms 69.4MB 233ms 40ms mono 6.12.0
csharp 2.cs 272ms 10ms 84.7MB 233ms 33ms dotnet 9.0.100
csharp 1.cs 275ms 3.5ms 99.2MB 240ms 63ms dotnet 9.0.100
kotlin 1-m.kt 319ms 4.8ms 40.5MB 470ms 77ms kotlin/native 1.8.21
d 1.d 338ms 0.9ms 314.8MB 293ms 33ms dmd 2.109.1
ocaml 2.ml 362ms 1.9ms 27.6MB 337ms 7ms ocaml 5.2.1
go 1-m.go 365ms 2.1ms 14.1MB 707ms 20ms go 1.23.3
python 1.py 378ms 2.6ms 103.6MB 327ms 33ms pypy 3.10.14
go 1.go 383ms 2.4ms 13.4MB 367ms 0ms tinygo 0.34.0
go 2-m.go 412ms 1.3ms 14.1MB 833ms 33ms go 1.23.3
java 1.java 442ms 45ms 341.6MB 223ms 290ms openjdk/zgc 21
go 2.go 634ms 12ms 29.7MB 623ms 0ms tinygo 0.34.0
acton 1.act 727ms 21ms 30.5MB 773ms 23ms actonc 0.24.1
php 1.php 836ms 5.4ms 67.3MB 797ms 23ms php 8.2.26
lua 1.lua 1219ms 75ms 31.1MB 1190ms 13ms luajit 2.1.0-beta3
haxe 1.hx 1302ms 9.8ms 12.7MB 1247ms 133ms haxe/hl/c 4.3.6
haxe 1.hx 1487ms 13ms 22.3MB 1537ms 123ms haxe/hl/jit 1.14.0
ruby 1-m.rb 2205ms 87ms 510.9MB 5660ms 270ms truffleruby 24.1.1
lua 1.lua 2236ms 90ms 28.6MB 2217ms 3ms lua 5.4.7
ruby 1.rb 3025ms 9.5ms 47.1MB 2983ms 27ms ruby/yjit 3.3.6
python 1.py 3059ms 119ms 37.1MB 3030ms 17ms cpython 3.13.0
ruby 1.rb 4035ms 24ms 46.9MB 3990ms 30ms ruby 3.3.6
python 1.py timeout 0.0ms 48.9MB 4953ms 33ms pyston 3.8.12