All binarytrees 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.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 428ms 6.0ms 574.2MB 503ms 83ms openjdk 21
java 2-m.java 448ms 5.4ms 648.6MB 620ms 120ms graal/jvm 17.0.8
java 2.java 451ms 8.7ms 650.1MB 557ms 87ms openjdk 23
kotlin 1.kt 455ms 16ms 575.5MB 540ms 63ms kotlin/jvm 21
dart 1.dart 673ms 4.6ms 80.7MB 640ms 33ms dart/exe 3.6.0
nim 2.nim 741ms 8.3ms 34.9MB 727ms 0ms nim 2.2.0
v 1.v 842ms 137ms 22.1MB 827ms 3ms v/clang+gc 0.4.9
javascript 1-m.js 867ms 11ms 178.1MB 1290ms 257ms bun 1.1.42
csharp 1.cs 886ms 4.1ms 166.1MB 870ms 127ms dotnet/aot 9.0.101
csharp 1.cs 889ms 12ms 194.2MB 897ms 133ms dotnet 9.0.101
nim 2.nim 919ms 4.1ms 34.7MB 900ms 7ms nim/clang 2.2.0
python 1.py 1086ms 7.1ms 95.8MB 1023ms 47ms pypy 3.10.14
java 2.java 1140ms 6.2ms 1085.8MB 540ms 753ms openjdk/zgc 21
rust 4.rs 1176ms 7.2ms 33.8MB 1153ms 7ms rustc 1.83.0
javascript 1-m.js 1182ms 24ms 293.5MB 2050ms 133ms node 23.5.0
typescript 1-m.ts 1206ms 14ms 253.0MB 2110ms 143ms deno 2.1.4
haxe 1.hx 1232ms 27ms 144.0MB 1417ms 63ms haxe/cpp 4.3.6
rust 5.rs 1261ms 3.1ms 33.8MB 1233ms 10ms rustc 1.83.0
crystal 1.cr 1267ms 4.6ms 64.3MB 1247ms 7ms crystal 1.14.0
rust 3.rs 1415ms 35ms 49.8MB 1373ms 27ms rustc 1.83.0
wasm 5.rs 1607ms 21ms 37.2MB 1587ms 7ms wasmtime 28.0.0
zig 1.zig 1616ms 20ms 49.1MB 1590ms 10ms zig 0.13.0
csharp 1.cs 1646ms 54ms 103.5MB 1847ms 210ms mono 6.12.0
d 1.d 1655ms 6.5ms 312.8MB 1623ms 40ms ldc2 1.40.0
wasm 4.rs 1657ms 9.1ms 34.9MB 1637ms 7ms wasmtime 28.0.0
wasm 3.rs 1679ms 45ms 50.9MB 1657ms 10ms wasmtime 28.0.0
chapel 4.chpl 1855ms 24ms 66.3MB 1843ms 3ms chpl 1.31.0
chapel 3.chpl 1925ms 21ms 66.3MB 1917ms 0ms chpl 1.31.0
v 1.v 2067ms 11ms 2086.6MB 1183ms 873ms v/clang 0.4.9
odin 1.odin 2227ms 80ms 49.5MB 2193ms 17ms odin 2024
swift 1.swift 2431ms 13ms 54.0MB 2407ms 7ms swift 6.0.3
go 1-m.go 2534ms 14ms 41.9MB 5390ms 50ms go 1.23.4
d 1.d 2539ms 16ms 314.8MB 2723ms 37ms dmd 2.109.1
go 1.go 2615ms 48ms 52.2MB 2603ms 0ms tinygo 0.35.0
ocaml 1.ml 2855ms 30ms 132.4MB 2783ms 53ms ocaml 5.2.1
kotlin 1-m.kt 2928ms 6.8ms 248.5MB 4967ms 627ms kotlin/native 1.8.21
lua 1.lua 3311ms 71ms 172.9MB 3173ms 127ms luajit 2.1.0-beta3
haxe 2.hx 4213ms 67ms 497.0MB 4850ms 217ms haxe/cpp 4.3.6
ruby 1-m.rb 4344ms 5.3ms 826.4MB 6090ms 430ms truffleruby 24.1.1
ruby 1.rb 4409ms 29ms 110.3MB 4317ms 80ms ruby/yjit 3.4.1
acton 1.act timeout 0.0ms 68.8MB 5927ms 67ms actonc 0.24.1
haxe 1.hx timeout 0.0ms 50.6MB 5367ms 437ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 85.0MB 4880ms 743ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 52.9MB 7470ms 420ms haxe/hl/jit 1.14.0
haxe 2.hx timeout 0.0ms 132.9MB 7320ms 807ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 104.9MB 4940ms 47ms lua 5.4.7
perl 1.pl timeout 0.0ms 77.6MB 4967ms 17ms perl 5.40.0
php 1.php timeout 0.0ms 142.0MB 4957ms 30ms php 8.2.27
python 1.py timeout 0.0ms 40.8MB 4967ms 17ms cpython 3.13.1
python 1.py timeout 0.0ms 40.5MB 4750ms 237ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 70.1MB 4953ms 33ms ruby 3.4.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 67ms 0.5ms 5.5MB 57ms 0ms nim 2.2.0
dart 1.dart 75ms 3.2ms 42.8MB 53ms 10ms dart/exe 3.6.0
v 1.v 79ms 18ms 4.6MB 70ms 0ms v/clang+gc 0.4.9
haxe 1.hx 82ms 3.2ms 25.6MB 73ms 3ms haxe/cpp 4.3.6
nim 2.nim 85ms 2.2ms 5.8MB 77ms 0ms nim/clang 2.2.0
javascript 1.js 91ms 0.7ms 78.5MB 70ms 23ms bun 1.1.42
python 1.py 93ms 4.4ms 68.1MB 57ms 20ms pypy 3.10.14
kotlin 1.kt 95ms 2.4ms 158.2MB 103ms 23ms kotlin/jvm 21
crystal 1.cr 102ms 0.9ms 11.1MB 90ms 0ms crystal 1.14.0
rust 4.rs 110ms 0.7ms 5.8MB 97ms 0ms rustc 1.83.0
csharp 1.cs 117ms 12ms 45.7MB 77ms 30ms dotnet/aot 9.0.101
java 2-m.java 117ms 3.3ms 167.6MB 147ms 30ms openjdk 21
javascript 1.js 117ms 2.5ms 82.6MB 117ms 23ms node 23.5.0
rust 5.rs 119ms 3.8ms 5.8MB 107ms 0ms rustc 1.83.0
typescript 1.ts 120ms 0.9ms 82.3MB 117ms 30ms deno 2.1.4
java 2.java 122ms 6.2ms 98.2MB 143ms 33ms openjdk 23
rust 3.rs 130ms 2.4ms 7.8MB 117ms 0ms rustc 1.83.0
csharp 1.cs 136ms 3.4ms 44.2MB 107ms 17ms mono 6.12.0
zig 1.zig 142ms 0.5ms 7.1MB 130ms 0ms zig 0.13.0
d 1.d 153ms 3.5ms 208.1MB 123ms 13ms ldc2 1.40.0
java 2-m.java 153ms 9.8ms 226.4MB 223ms 60ms graal/jvm 17.0.8
wasm 5.rs 157ms 4.7ms 25.2MB 147ms 0ms wasmtime 28.0.0
wasm 3.rs 166ms 8.6ms 23.2MB 150ms 3ms wasmtime 28.0.0
chapel 3.chpl 183ms 2.0ms 36.3MB 173ms 0ms chpl 1.31.0
chapel 4.chpl 185ms 4.8ms 36.4MB 180ms 0ms chpl 1.31.0
v 1.v 201ms 4.3ms 198.0MB 103ms 77ms v/clang 0.4.9
csharp 1.cs 202ms 3.7ms 66.8MB 143ms 40ms dotnet 9.0.101
ocaml 1.ml 205ms 3.3ms 19.1MB 187ms 0ms ocaml 5.2.1
wasm 4.rs 206ms 53ms 23.0MB 190ms 0ms wasmtime 28.0.0
odin 1.odin 207ms 1.9ms 7.5MB 193ms 0ms odin 2024
d 1.d 218ms 2.9ms 209.9MB 190ms 13ms dmd 2.109.1
go 1.go 219ms 1.4ms 6.8MB 210ms 0ms tinygo 0.35.0
swift 1.swift 222ms 2.8ms 11.8MB 210ms 0ms swift 6.0.3
go 1-m.go 225ms 0.9ms 7.9MB 373ms 13ms go 1.23.4
kotlin 1-m.kt 257ms 6.2ms 32.6MB 400ms 63ms kotlin/native 1.8.21
lua 1.lua 277ms 1.4ms 15.6MB 257ms 3ms luajit 2.1.0-beta3
java 2.java 289ms 1.8ms 241.5MB 147ms 187ms openjdk/zgc 21
haxe 2.hx 354ms 9.3ms 60.1MB 370ms 23ms haxe/cpp 4.3.6
python 1.py 448ms 2.5ms 11.9MB 423ms 7ms pyston 3.8.12
ruby 1.rb 455ms 2.2ms 20.4MB 437ms 3ms ruby/yjit 3.4.1
ruby 1-m.rb 553ms 55ms 431.2MB 1113ms 147ms truffleruby 24.1.1
php 1.php 577ms 3.1ms 63.1MB 543ms 17ms php 8.2.27
haxe 1.hx 599ms 7.0ms 10.7MB 567ms 47ms haxe/hl/c 4.3.6
haxe 1.hx 636ms 20ms 13.2MB 693ms 50ms haxe/hl/jit 1.14.0
python 1.py 675ms 16ms 12.6MB 660ms 0ms cpython 3.13.1
lua 1.lua 757ms 1.9ms 17.0MB 743ms 0ms lua 5.4.7
acton 1.act 794ms 30ms 13.9MB 923ms 60ms actonc 0.24.1
haxe 2.hx 874ms 18ms 15.7MB 780ms 130ms haxe/hl/c 4.3.6
haxe 2.hx 891ms 21ms 27.0MB 830ms 180ms haxe/hl/jit 1.14.0
ruby 1.rb 906ms 20ms 19.8MB 883ms 7ms ruby 3.4.1
perl 1.pl 1698ms 16ms 14.4MB 1683ms 0ms perl 5.40.0