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

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 471ms 5.6ms 648.0MB 570ms 103ms openjdk 23
kotlin 1.kt 480ms 16ms 575.9MB 567ms 87ms kotlin/jvm 21
java 2-m.java 482ms 17ms 645.0MB 687ms 103ms graal/jvm 17.0.8
java 2.java 530ms 1.5ms 571.1MB 573ms 137ms openjdk 21
dart 1.dart 756ms 4.2ms 80.6MB 723ms 37ms dart/exe 3.5.4
nim 2.nim 793ms 24ms 34.9MB 777ms 3ms nim 2.2.0
v 1.v 836ms 6.6ms 22.1MB 817ms 7ms v/clang+gc 0.4.8
javascript 1-m.js 934ms 12ms 179.4MB 1463ms 247ms bun 1.1.38
csharp 1.cs 960ms 14ms 181.9MB 970ms 120ms dotnet/aot 9.0.100
nim 2.nim 986ms 7.4ms 34.2MB 967ms 7ms nim/clang 2.2.0
csharp 1.cs 1111ms 56ms 201.7MB 1013ms 177ms dotnet 9.0.100
python 1.py 1149ms 16ms 95.7MB 1087ms 47ms pypy 3.10.14
java 2.java 1186ms 22ms 1052.1MB 590ms 767ms openjdk/zgc 21
javascript 1-m.js 1245ms 11ms 292.8MB 2167ms 173ms node 23.3.0
rust 4.rs 1251ms 6.0ms 33.8MB 1233ms 7ms rustc 1.83.0
typescript 1-m.ts 1300ms 27ms 289.6MB 2270ms 173ms deno 2.1.2
haxe 1.hx 1329ms 25ms 145.7MB 1547ms 63ms haxe/cpp 4.3.6
rust 5.rs 1378ms 31ms 33.8MB 1357ms 10ms rustc 1.83.0
crystal 1.cr 1390ms 8.4ms 64.3MB 1363ms 7ms crystal 1.14.0
rust 3.rs 1482ms 30ms 49.8MB 1443ms 23ms rustc 1.83.0
wasm 5.rs 1531ms 12ms 55.1MB 1500ms 13ms wasmer/llvm 5.0.2
wasm 4.rs 1599ms 10.0ms 54.8MB 1570ms 17ms wasmer/llvm 5.0.2
wasm 3.rs 1644ms 39ms 71.3MB 1600ms 27ms wasmer/llvm 5.0.2
d 1.d 1733ms 100ms 312.5MB 1707ms 33ms ldc2 1.39.0
wasm 5.rs 1750ms 25ms 34.8MB 1723ms 10ms wasmtime 27.0.0
csharp 1.cs 1775ms 93ms 101.7MB 2017ms 210ms mono 6.12.0
wasm 4.rs 1794ms 30ms 34.9MB 1777ms 3ms wasmtime 27.0.0
wasm 3.rs 1860ms 47ms 52.9MB 1830ms 17ms wasmtime 27.0.0
zig 1.zig 1869ms 58ms 49.1MB 1843ms 10ms zig 0.13.0
chapel 4.chpl 1950ms 11ms 66.4MB 1937ms 0ms chpl 1.31.0
chapel 3.chpl 2095ms 33ms 66.4MB 2087ms 3ms chpl 1.31.0
v 1.v 2183ms 50ms 2086.6MB 1270ms 893ms v/clang 0.4.8
odin 1.odin 2354ms 21ms 49.5MB 2323ms 17ms odin 2024
d 1.d 2677ms 15ms 314.4MB 2853ms 47ms dmd 2.109.1
go 1-m.go 2710ms 23ms 43.6MB 5730ms 53ms go 1.23.3
swift 1.swift 2834ms 94ms 54.3MB 2803ms 13ms swift 6.0.2
ruby 1-m.rb 3037ms 2639ms 793.8MB 6587ms 477ms truffleruby 24.1.1
ocaml 1.ml 3047ms 16ms 132.6MB 2977ms 60ms ocaml 5.2.1
kotlin 1-m.kt 3116ms 32ms 248.5MB 5177ms 713ms kotlin/native 1.8.21
go 1.go 3491ms 59ms 52.2MB 3473ms 3ms tinygo 0.34.0
lua 1.lua 3498ms 64ms 172.9MB 3367ms 120ms luajit 2.1.0-beta3
ruby 1.rb 3763ms 40ms 113.5MB 3657ms 90ms ruby/yjit 3.3.6
haxe 2.hx 4475ms 79ms 497.1MB 5153ms 213ms haxe/cpp 4.3.6
acton 1.act timeout 0.0ms 67.0MB 5933ms 90ms actonc 0.24.1
haxe 1.hx timeout 0.0ms 50.6MB 5560ms 417ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 85.0MB 5067ms 693ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 52.4MB 7860ms 440ms haxe/hl/jit 1.14.0
haxe 2.hx timeout 0.0ms 132.9MB 7410ms 773ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 104.9MB 4943ms 40ms lua 5.4.7
perl 1.pl timeout 0.0ms 77.6MB 4947ms 37ms perl 5.40.0
php 1.php timeout 0.0ms 141.9MB 4953ms 27ms php 8.2.26
python 1.py timeout 0.0ms 40.8MB 4970ms 17ms cpython 3.13.0
python 1.py timeout 0.0ms 40.6MB 4743ms 240ms pyston 3.8.12
ruby 1.rb timeout 0.0ms 78.9MB 4930ms 50ms ruby 3.3.6

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
v 1.v 70ms 1.5ms 4.6MB 60ms 0ms v/clang+gc 0.4.8
nim 2.nim 72ms 1.1ms 5.5MB 60ms 0ms nim 2.2.0
dart 1.dart 79ms 0.9ms 42.5MB 53ms 13ms dart/exe 3.5.4
haxe 1.hx 93ms 1.2ms 27.6MB 90ms 7ms haxe/cpp 4.3.6
nim 2.nim 94ms 2.8ms 5.8MB 80ms 0ms nim/clang 2.2.0
python 1.py 94ms 1.9ms 68.0MB 63ms 20ms pypy 3.10.14
javascript 1.js 95ms 0.9ms 78.8MB 67ms 30ms bun 1.1.38
kotlin 1.kt 102ms 1.9ms 158.0MB 110ms 27ms kotlin/jvm 21
crystal 1.cr 108ms 0.6ms 11.1MB 97ms 0ms crystal 1.14.0
rust 5.rs 123ms 0.3ms 5.8MB 110ms 0ms rustc 1.83.0
javascript 1.js 124ms 1.3ms 82.1MB 123ms 20ms node 23.3.0
java 2.java 128ms 1.7ms 166.9MB 153ms 33ms openjdk 21
rust 4.rs 129ms 19ms 5.8MB 120ms 0ms rustc 1.83.0
java 2.java 130ms 5.1ms 98.0MB 157ms 37ms openjdk 23
typescript 1.ts 130ms 0.6ms 83.2MB 137ms 20ms deno 2.1.2
csharp 1.cs 134ms 12ms 40.8MB 70ms 47ms dotnet/aot 9.0.100
rust 3.rs 142ms 4.7ms 7.8MB 130ms 0ms rustc 1.83.0
csharp 1.cs 145ms 2.2ms 48.1MB 120ms 13ms mono 6.12.0
zig 1.zig 149ms 2.9ms 7.1MB 140ms 0ms zig 0.13.0
wasm 5.rs 152ms 0.8ms 41.0MB 140ms 0ms wasmer/llvm 5.0.2
java 2-m.java 157ms 17ms 230.2MB 233ms 53ms graal/jvm 17.0.8
d 1.d 157ms 1.1ms 208.7MB 130ms 13ms ldc2 1.39.0
wasm 4.rs 161ms 3.1ms 41.0MB 143ms 3ms wasmer/llvm 5.0.2
wasm 3.rs 165ms 6.6ms 42.9MB 143ms 7ms wasmer/llvm 5.0.2
wasm 4.rs 171ms 1.2ms 21.0MB 157ms 3ms wasmtime 27.0.0
wasm 3.rs 174ms 3.1ms 22.9MB 157ms 3ms wasmtime 27.0.0
wasm 5.rs 181ms 18ms 22.9MB 163ms 0ms wasmtime 27.0.0
chapel 4.chpl 193ms 3.0ms 36.4MB 183ms 7ms chpl 1.31.0
csharp 1.cs 202ms 6.0ms 58.2MB 147ms 47ms dotnet 9.0.100
chapel 3.chpl 205ms 18ms 34.3MB 190ms 3ms chpl 1.31.0
v 1.v 207ms 2.8ms 197.6MB 117ms 77ms v/clang 0.4.8
ocaml 1.ml 217ms 3.2ms 19.2MB 200ms 0ms ocaml 5.2.1
odin 1.odin 219ms 2.9ms 7.5MB 207ms 0ms odin 2024
go 1.go 229ms 5.1ms 5.6MB 213ms 0ms tinygo 0.34.0
swift 1.swift 229ms 2.2ms 12.5MB 217ms 0ms swift 6.0.2
d 1.d 235ms 9.2ms 209.9MB 203ms 13ms dmd 2.109.1
go 1-m.go 238ms 2.0ms 8.2MB 400ms 7ms go 1.23.3
lua 1.lua 294ms 1.7ms 15.8MB 273ms 7ms luajit 2.1.0-beta3
kotlin 1-m.kt 299ms 30ms 32.5MB 463ms 60ms kotlin/native 1.8.21
java 2.java 309ms 7.0ms 243.6MB 153ms 207ms openjdk/zgc 21
haxe 2.hx 405ms 19ms 60.3MB 440ms 27ms haxe/cpp 4.3.6
ruby 1.rb 411ms 3.8ms 36.4MB 370ms 23ms ruby/yjit 3.3.6
python 1.py 491ms 25ms 11.9MB 463ms 7ms pyston 3.8.12
ruby 1-m.rb 587ms 83ms 434.3MB 1170ms 163ms truffleruby 24.1.1
php 1.php 626ms 24ms 62.8MB 573ms 30ms php 8.2.26
haxe 1.hx 637ms 9.9ms 10.7MB 600ms 57ms haxe/hl/c 4.3.6
haxe 1.hx 673ms 7.3ms 13.4MB 730ms 57ms haxe/hl/jit 1.14.0
python 1.py 710ms 4.2ms 12.8MB 697ms 0ms cpython 3.13.0
lua 1.lua 809ms 6.7ms 16.9MB 787ms 3ms lua 5.4.7
acton 1.act 842ms 30ms 12.1MB 970ms 73ms actonc 0.24.1
ruby 1.rb 847ms 11ms 36.3MB 807ms 27ms ruby 3.3.6
haxe 2.hx 925ms 7.0ms 15.5MB 787ms 183ms haxe/hl/c 4.3.6
haxe 2.hx 1253ms 56ms 27.2MB 1317ms 183ms haxe/hl/jit 1.14.0
perl 1.pl 1789ms 18ms 14.4MB 1767ms 7ms perl 5.40.0