Current benchmark data was generated on Wed Jan 22 2025, full log can be found HERE
CONTRIBUTIONS are WELCOME!
* -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.)
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 530ms | 41ms | 15.6MB | 2057ms | 0ms | go 1.23.5 |
rust | 5-m.rs | 559ms | 73ms | 7.5MB | 2073ms | 83ms | rustc 1.84.0 |
rust | 3-m.rs | 564ms | 15ms | 11.2MB | 2110ms | 70ms | rustc 1.84.0 |
rust | 1-m.rs | 975ms | 19ms | 10.4MB | 3477ms | 337ms | rustc 1.84.0 |
wasm | 3.rs | 1128ms | 15ms | 21.5MB | 1110ms | 0ms | wasmtime 29.0.1 |
rust | 3.rs | 1152ms | 6.3ms | 9.3MB | 1097ms | 40ms | rustc 1.84.0 |
python | 1.py | 1197ms | 18ms | 104.0MB | 1157ms | 23ms | pypy 3.10.14 |
go | 1.go | 1280ms | 9.7ms | 256.8MB | 1250ms | 13ms | tinygo 0.35.0 |
typescript | 1.ts | 1310ms | 11ms | 91.4MB | 1363ms | 33ms | deno 2.1.7 |
crystal | 1.cr | 1367ms | 11ms | 19.8MB | 1300ms | 50ms | crystal 1.15.0 |
ruby | 1.rb | 1399ms | 20ms | 63.9MB | 1310ms | 70ms | ruby/yjit 3.4.1 |
javascript | 1.js | 1594ms | 14ms | 93.6MB | 1670ms | 63ms | node 23.6.0 |
java | 1-m.java | 1791ms | 170ms | 260.0MB | 6683ms | 143ms | openjdk 21 |
kotlin | 2-m.kt | 1809ms | 268ms | 235.5MB | 6717ms | 107ms | kotlin/jvm 21 |
ruby | 1.rb | 1850ms | 15ms | 63.3MB | 1773ms | 60ms | ruby 3.4.1 |
rust | 4.rs | 1894ms | 14ms | 7.5MB | 1883ms | 0ms | rustc 1.84.0 |
kotlin | 1.kt | 2109ms | 6.9ms | 219.7MB | 2923ms | 63ms | kotlin/jvm 21 |
csharp | 1-m.cs | 2167ms | 61ms | 71.6MB | 7430ms | 90ms | dotnet/aot 9.0.102 |
java | 1-m.java | 2251ms | 168ms | 241.1MB | 8537ms | 117ms | openjdk 23 |
chapel | 1-m.chpl | 2257ms | 56ms | 518.0MB | 4400ms | 70ms | chpl 1.31.0 |
javascript | 1.js | 2295ms | 49ms | 100.5MB | 2313ms | 70ms | bun 1.1.45 |
csharp | 1-m.cs | 2627ms | 90ms | 82.1MB | 8133ms | 107ms | dotnet 9.0.102 |
java | 1-m.java | 2654ms | 330ms | 1215.5MB | 8333ms | 1107ms | openjdk/zgc 21 |
dart | 1.dart | 4961ms | 26ms | 19.3MB | 5503ms | 70ms | dart/exe 3.6.1 |
d | 1.d | timeout | 0.0ms | 16.8MB | 4967ms | 20ms | dmd 2.109.1 |
d | 1.d | timeout | 0.0ms | 15.4MB | 4970ms | 17ms | ldc2 1.40.0 |
kotlin | 1.kt | timeout | 0.0ms | 14.8MB | 6100ms | 460ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | timeout | 0.0ms | 69.5MB | 18963ms | 130ms | kotlin/native 1.8.21 |
nim | 1.nim | timeout | 0.0ms | 553.8MB | 2483ms | 2057ms | nim/clang 2.2.0 |
nim | 1.nim | timeout | 0.0ms | 545.4MB | 2453ms | 2093ms | nim 2.2.0 |
python | 1.py | timeout | 0.0ms | 21.1MB | 4977ms | 7ms | cpython 3.13.1 |
python | 1.py | timeout | 0.0ms | 17.3MB | 4977ms | 7ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 720.1MB | 4753ms | 1447ms | truffleruby 24.1.2 |
v | 1.v | timeout | 0.0ms | 27.9MB | 8927ms | 10420ms | v/clang+gc 0.4.9 |
v | 1.v | timeout | 0.0ms | 22.3MB | 8987ms | 10597ms | v/clang 0.4.9 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 36ms | 2.5ms | 7.5MB | 117ms | 0ms | go 1.23.5 |
rust | 5-m.rs | 51ms | 0.7ms | 5.4MB | 150ms | 10ms | rustc 1.84.0 |
rust | 3-m.rs | 54ms | 2.8ms | 6.0MB | 153ms | 17ms | rustc 1.84.0 |
rust | 3.rs | 72ms | 1.9ms | 4.0MB | 60ms | 0ms | rustc 1.84.0 |
crystal | 1.cr | 76ms | 1.4ms | 7.1MB | 57ms | 7ms | crystal 1.15.0 |
rust | 1-m.rs | 81ms | 8.9ms | 5.8MB | 230ms | 60ms | rustc 1.84.0 |
wasm | 3.rs | 83ms | 2.3ms | 20.0MB | 70ms | 0ms | wasmtime 29.0.1 |
rust | 4.rs | 115ms | 0.8ms | 3.4MB | 107ms | 0ms | rustc 1.84.0 |
typescript | 1.ts | 148ms | 4.5ms | 71.8MB | 127ms | 23ms | deno 2.1.7 |
javascript | 1.js | 156ms | 1.2ms | 76.5MB | 137ms | 23ms | node 23.6.0 |
ruby | 1.rb | 160ms | 5.4ms | 25.8MB | 120ms | 27ms | ruby/yjit 3.4.1 |
csharp | 1-m.cs | 174ms | 6.3ms | 28.9MB | 467ms | 20ms | dotnet/aot 9.0.102 |
ruby | 1.rb | 181ms | 4.2ms | 25.1MB | 147ms | 20ms | ruby 3.4.1 |
javascript | 1.js | 187ms | 1.2ms | 86.5MB | 203ms | 30ms | bun 1.1.45 |
chapel | 1-m.chpl | 192ms | 11ms | 444.7MB | 303ms | 37ms | chpl 1.31.0 |
go | 1.go | 219ms | 1.4ms | 65.2MB | 200ms | 0ms | tinygo 0.35.0 |
python | 1.py | 223ms | 3.7ms | 84.4MB | 177ms | 27ms | pypy 3.10.14 |
csharp | 1-m.cs | 285ms | 11ms | 50.6MB | 790ms | 33ms | dotnet 9.0.102 |
dart | 1.dart | 340ms | 2.5ms | 10.3MB | 333ms | 17ms | dart/exe 3.6.1 |
kotlin | 2-m.kt | 386ms | 11ms | 54.6MB | 1410ms | 27ms | kotlin/native 1.8.21 |
java | 1-m.java | 394ms | 20ms | 91.7MB | 1290ms | 50ms | openjdk 23 |
java | 1-m.java | 424ms | 15ms | 123.3MB | 1383ms | 63ms | openjdk 21 |
kotlin | 1-m.kt | 463ms | 6.2ms | 73.9MB | 1070ms | 43ms | kotlin/jvm 21 |
python | 1.py | 575ms | 1.9ms | 20.5MB | 553ms | 7ms | cpython 3.13.1 |
java | 1-m.java | 649ms | 27ms | 221.3MB | 1693ms | 260ms | openjdk/zgc 21 |
python | 1.py | 669ms | 11ms | 16.8MB | 647ms | 7ms | pyston 3.8.12 |
kotlin | 1.kt | 675ms | 7.0ms | 10.7MB | 803ms | 70ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | 742ms | 27ms | 99.3MB | 2503ms | 90ms | kotlin/jvm 21 |
d | 1.d | 1001ms | 2.3ms | 8.4MB | 967ms | 23ms | ldc2 1.40.0 |
d | 1.d | 1314ms | 23ms | 10.5MB | 1290ms | 13ms | dmd 2.109.1 |
v | 1-m.v | 2599ms | 357ms | 20.3MB | 4740ms | 5323ms | v/clang+gc 0.4.9 |
v | 1-m.v | 3125ms | 80ms | 15.7MB | 5590ms | 6563ms | v/clang 0.4.9 |
nim | 1.nim | 4399ms | 8.7ms | 518.7MB | 2090ms | 1880ms | nim/clang 2.2.0 |
nim | 1.nim | 4558ms | 9.6ms | 518.3MB | 2237ms | 1890ms | nim 2.2.0 |
ruby | 1.rb | timeout | 0.0ms | 698.9MB | 4753ms | 1487ms | truffleruby 24.1.2 |