All merkletrees problem benchmarks

Current benchmark data was generated on Tue Dec 31 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 307ms 2.2ms 63.6MB 277ms 27ms dart/exe 3.6.0
kotlin 1.kt 329ms 3.6ms 677.6MB 360ms 70ms kotlin/jvm 21
java 1.java 377ms 8.2ms 679.9MB 450ms 77ms openjdk 21
java 1.java 383ms 9.9ms 546.0MB 480ms 80ms openjdk 23
java 1-m.java 408ms 27ms 589.2MB 630ms 77ms graal/jvm 17.0.8
javascript 1-m.js 466ms 12ms 137.7MB 597ms 133ms bun 1.1.42
typescript 1.ts 492ms 6.5ms 134.8MB 563ms 63ms deno 2.1.4
javascript 1.js 493ms 0.8ms 134.3MB 557ms 70ms node 23.5.0
nim 1.nim 520ms 10ms 34.9MB 497ms 7ms nim 2.2.0
csharp 2.cs 521ms 13ms 123.3MB 463ms 80ms dotnet/aot 9.0.101
csharp 1.cs 549ms 12ms 154.4MB 487ms 123ms dotnet/aot 9.0.101
nim 1.nim 578ms 6.2ms 34.7MB 553ms 10ms nim/clang 2.2.0
csharp 2.cs 657ms 22ms 142.9MB 603ms 97ms dotnet 9.0.101
rust 1.rs 657ms 8.6ms 33.8MB 637ms 3ms rustc 1.83.0
csharp 1.cs 663ms 5.2ms 169.5MB 603ms 123ms dotnet 9.0.101
crystal 1.cr 756ms 9.3ms 81.6MB 727ms 13ms crystal 1.14.0
zig 1.zig 790ms 14ms 41.1MB 763ms 10ms zig 0.13.0
wasm 1.rs 815ms 3.5ms 42.9MB 787ms 10ms wasmtime 28.0.0
haxe 1.hx 860ms 12ms 97.0MB 943ms 40ms haxe/cpp 4.3.6
d 1.d 894ms 6.6ms 312.8MB 857ms 37ms ldc2 1.40.0
java 1.java 1004ms 16ms 1000.0MB 447ms 697ms openjdk/zgc 21
ocaml 1.ml 1039ms 0.6ms 70.2MB 997ms 27ms ocaml 5.2.1
csharp 1.cs 1246ms 80ms 142.6MB 1450ms 163ms mono 6.12.0
kotlin 1-m.kt 1426ms 20ms 136.5MB 2193ms 330ms kotlin/native 1.8.21
go 1-m.go 1523ms 5.6ms 36.8MB 3107ms 37ms go 1.23.4
d 1.d 1665ms 7.6ms 314.0MB 1790ms 33ms dmd 2.109.1
go 2-m.go 1741ms 13ms 43.1MB 3667ms 37ms go 1.23.4
go 1.go 1890ms 41ms 52.1MB 1877ms 0ms tinygo 0.35.0
ocaml 2.ml 1948ms 8.6ms 91.8MB 1900ms 30ms ocaml 5.2.1
python 1.py 2111ms 2.8ms 210.1MB 2007ms 83ms pypy 3.10.14
go 2.go 2426ms 14ms 120.4MB 2400ms 10ms tinygo 0.35.0
acton 1.act 3058ms 12ms 101.9MB 3330ms 47ms actonc 0.24.1
php 1.php 3523ms 15ms 113.7MB 3480ms 23ms php 8.2.27
ruby 1-m.rb 4396ms 209ms 539.7MB 11230ms 353ms truffleruby 24.1.1
haxe 1.hx timeout 0.0ms 34.6MB 4787ms 557ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 59.8MB 5720ms 480ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 107.3MB 4950ms 37ms lua 5.4.7
lua 1.lua timeout 0.0ms 149.3MB 4937ms 47ms luajit 2.1.0-beta3
python 1.py timeout 0.0ms 93.9MB 4963ms 23ms cpython 3.13.1
python 1.py timeout 0.0ms 130.4MB 4933ms 53ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 93.6MB 4950ms 37ms 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 80ms 0.2ms 43.6MB 60ms 10ms dart/exe 3.6.0
nim 1.nim 112ms 2.9ms 9.6MB 100ms 0ms nim 2.2.0
javascript 1.js 113ms 1.9ms 85.8MB 90ms 37ms bun 1.1.42
kotlin 1.kt 122ms 2.0ms 206.5MB 157ms 23ms kotlin/jvm 21
nim 1.nim 124ms 3.0ms 9.9MB 110ms 0ms nim/clang 2.2.0
csharp 2.cs 129ms 11ms 62.5MB 93ms 33ms dotnet/aot 9.0.101
ocaml 1.ml 143ms 1.0ms 21.7MB 130ms 3ms ocaml 5.2.1
rust 1.rs 145ms 2.9ms 9.8MB 133ms 0ms rustc 1.83.0
javascript 1.js 147ms 2.9ms 102.3MB 150ms 27ms node 23.5.0
csharp 1.cs 147ms 8.4ms 80.9MB 113ms 43ms dotnet/aot 9.0.101
typescript 1.ts 148ms 3.8ms 100.9MB 150ms 30ms deno 2.1.4
crystal 1.cr 149ms 3.4ms 22.3MB 133ms 0ms crystal 1.14.0
java 1-m.java 153ms 0.5ms 206.4MB 210ms 50ms openjdk 21
java 1-m.java 154ms 0.8ms 158.8MB 213ms 47ms openjdk 23
haxe 1.hx 158ms 1.7ms 28.6MB 157ms 7ms haxe/cpp 4.3.6
zig 1.zig 160ms 1.9ms 11.1MB 147ms 0ms zig 0.13.0
wasm 1.rs 179ms 1.6ms 27.0MB 160ms 7ms wasmtime 28.0.0
d 1.d 190ms 2.1ms 312.6MB 150ms 20ms ldc2 1.40.0
java 1-m.java 210ms 8.6ms 260.7MB 360ms 47ms graal/jvm 17.0.8
csharp 1.cs 247ms 3.2ms 71.3MB 207ms 43ms mono 6.12.0
csharp 1.cs 261ms 6.2ms 98.0MB 220ms 53ms dotnet 9.0.101
csharp 2.cs 268ms 26ms 80.7MB 217ms 40ms dotnet 9.0.101
kotlin 1-m.kt 283ms 1.7ms 40.4MB 410ms 57ms kotlin/native 1.8.21
d 1.d 321ms 4.2ms 314.7MB 283ms 33ms dmd 2.109.1
ocaml 2.ml 342ms 3.9ms 27.7MB 317ms 7ms ocaml 5.2.1
go 1-m.go 349ms 4.9ms 14.1MB 667ms 23ms go 1.23.4
go 1.go 358ms 5.5ms 13.6MB 347ms 0ms tinygo 0.35.0
python 1.py 360ms 5.1ms 103.6MB 297ms 50ms pypy 3.10.14
java 1.java 386ms 10ms 343.0MB 210ms 247ms openjdk/zgc 21
go 2-m.go 388ms 1.9ms 14.2MB 777ms 27ms go 1.23.4
go 2.go 523ms 7.2ms 22.8MB 510ms 0ms tinygo 0.35.0
acton 1.act 676ms 47ms 32.3MB 707ms 20ms actonc 0.24.1
php 1.php 785ms 12ms 67.1MB 747ms 27ms php 8.2.27
lua 1.lua 1019ms 0.9ms 31.1MB 983ms 20ms luajit 2.1.0-beta3
haxe 1.hx 1221ms 17ms 12.8MB 1160ms 127ms haxe/hl/c 4.3.6
haxe 1.hx 1244ms 17ms 22.3MB 1260ms 123ms haxe/hl/jit 1.14.0
lua 1.lua 2026ms 40ms 28.6MB 2003ms 3ms lua 5.4.7
ruby 1-m.rb 2130ms 105ms 524.5MB 5493ms 237ms truffleruby 24.1.1
python 1.py 2752ms 61ms 37.2MB 2727ms 7ms cpython 3.13.1
ruby 1.rb 3111ms 12ms 38.4MB 3073ms 20ms ruby/yjit 3.4.1
ruby 1.rb 4124ms 30ms 37.8MB 4083ms 23ms ruby 3.4.1
python 1.py 4838ms 94ms 48.9MB 4770ms 50ms pyston 3.8.12