Current benchmark data was generated on Thu May 01 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 |
---|---|---|---|---|---|---|---|
rust | 3-m.rs | 536ms | 39ms | 9.1MB | 2017ms | 67ms | rustc 1.86.0 |
go | 1-m.go | 584ms | 107ms | 15.6MB | 2280ms | 0ms | go 1.24.2 |
rust | 5-m.rs | 631ms | 109ms | 5.8MB | 2383ms | 60ms | rustc 1.86.0 |
go | 1.go | 717ms | 25ms | 268.1MB | 657ms | 40ms | tinygo 0.37.0 |
rust | 1-m.rs | 929ms | 2.1ms | 7.3MB | 3410ms | 223ms | rustc 1.86.0 |
rust | 3.rs | 1120ms | 2.0ms | 9.3MB | 1080ms | 27ms | rustc 1.86.0 |
wasm | 3.rs | 1138ms | 15ms | 20.2MB | 1123ms | 0ms | wasmtime 32.0.0 |
python | 1.py | 1189ms | 5.0ms | 104.1MB | 1140ms | 33ms | pypy 3.10.16 |
typescript | 1.ts | 1280ms | 29ms | 118.4MB | 1270ms | 60ms | deno 2.3.1 |
ruby | 1.rb | 1461ms | 14ms | 63.8MB | 1383ms | 63ms | ruby/yjit 3.4.3 |
crystal | 1.cr | 1514ms | 13ms | 19.9MB | 1450ms | 53ms | crystal 1.16.2 |
javascript | 1.js | 1592ms | 8.1ms | 90.4MB | 1680ms | 50ms | node 23.11.0 |
rust | 4.rs | 1843ms | 14ms | 6.9MB | 1833ms | 0ms | rustc 1.86.0 |
ruby | 1.rb | 1891ms | 53ms | 63.0MB | 1813ms | 63ms | ruby 3.4.3 |
kotlin | 2-m.kt | 1966ms | 64ms | 237.9MB | 7327ms | 110ms | kotlin/jvm 21 |
kotlin | 1.kt | 2131ms | 19ms | 217.3MB | 2937ms | 73ms | kotlin/jvm 21 |
csharp | 1-m.cs | 2151ms | 190ms | 51.9MB | 7533ms | 73ms | dotnet/aot 9.0.203 |
chapel | 1-m.chpl | 2236ms | 75ms | 571.9MB | 4350ms | 80ms | chpl 1.31.0 |
java | 1-m.java | 2287ms | 150ms | 261.9MB | 8677ms | 140ms | openjdk 21 |
java | 1-m.java | 2399ms | 22ms | 242.5MB | 9087ms | 147ms | openjdk 23 |
javascript | 1.js | 2477ms | 15ms | 101.1MB | 2510ms | 60ms | bun 1.2.11 |
csharp | 1-m.cs | 2664ms | 219ms | 74.3MB | 8140ms | 107ms | dotnet 9.0.203 |
java | 1-m.java | 2760ms | 47ms | 1225.5MB | 8833ms | 1123ms | openjdk/zgc 21 |
python | 1.py | 2813ms | 42ms | 25.2MB | 2797ms | 7ms | cpython 3.13.3 |
kotlin | 2-m.kt | 4241ms | 30ms | 21.4MB | 14193ms | 557ms | kotlin/native 2.1.20 |
dart | 1.dart | 4867ms | 13ms | 19.1MB | 5343ms | 73ms | dart/exe 3.7.3 |
d | 1.d | timeout | 0.0ms | 17.8MB | 4967ms | 20ms | dmd 2.111.0 |
d | 1.d | timeout | 0.0ms | 16.9MB | 4967ms | 20ms | ldc2 1.40.1 |
kotlin | 1.kt | timeout | 0.0ms | 17.4MB | 5507ms | 27ms | kotlin/native 2.1.20 |
nim | 1.nim | timeout | 0.0ms | 552.6MB | 2487ms | 2053ms | nim/clang 2.2.4 |
nim | 1.nim | timeout | 0.0ms | 554.2MB | 2543ms | 1993ms | nim 2.2.4 |
python | 1.py | timeout | 0.0ms | 17.3MB | 4980ms | 7ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 342.0MB | 4683ms | 1473ms | truffleruby 24.2.1 |
v | 1.v | timeout | 0.0ms | 18.0MB | 8957ms | 10320ms | v/clang+gc 0.4.10 |
v | 1.v | timeout | 0.0ms | 17.6MB | 8397ms | 11117ms | v/clang 0.4.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 38ms | 5.1ms | 7.4MB | 127ms | 0ms | go 1.24.2 |
rust | 5-m.rs | 54ms | 1.6ms | 3.5MB | 163ms | 10ms | rustc 1.86.0 |
rust | 3-m.rs | 57ms | 2.5ms | 4.3MB | 183ms | 7ms | rustc 1.86.0 |
go | 1.go | 66ms | 1.1ms | 67.2MB | 40ms | 10ms | tinygo 0.37.0 |
rust | 3.rs | 71ms | 1.8ms | 4.0MB | 60ms | 0ms | rustc 1.86.0 |
rust | 1-m.rs | 72ms | 0.4ms | 3.5MB | 223ms | 27ms | rustc 1.86.0 |
wasm | 3.rs | 82ms | 1.1ms | 20.2MB | 70ms | 0ms | wasmtime 32.0.0 |
crystal | 1.cr | 85ms | 1.3ms | 7.1MB | 63ms | 10ms | crystal 1.16.2 |
rust | 4.rs | 114ms | 2.2ms | 3.1MB | 107ms | 0ms | rustc 1.86.0 |
typescript | 1.ts | 145ms | 1.9ms | 69.3MB | 123ms | 23ms | deno 2.3.1 |
ruby | 1.rb | 156ms | 2.7ms | 25.8MB | 127ms | 13ms | ruby/yjit 3.4.3 |
javascript | 1.js | 157ms | 3.2ms | 71.9MB | 143ms | 20ms | node 23.11.0 |
csharp | 1-m.cs | 167ms | 15ms | 19.5MB | 487ms | 10ms | dotnet/aot 9.0.203 |
ruby | 1.rb | 181ms | 2.9ms | 25.0MB | 153ms | 13ms | ruby 3.4.3 |
chapel | 1-m.chpl | 193ms | 3.2ms | 540.5MB | 307ms | 50ms | chpl 1.31.0 |
javascript | 1.js | 198ms | 3.1ms | 86.6MB | 223ms | 30ms | bun 1.2.11 |
python | 1.py | 219ms | 1.1ms | 84.8MB | 180ms | 20ms | pypy 3.10.16 |
python | 1.py | 232ms | 1.3ms | 20.5MB | 210ms | 0ms | cpython 3.13.3 |
kotlin | 2-m.kt | 250ms | 1.5ms | 21.3MB | 833ms | 47ms | kotlin/native 2.1.20 |
csharp | 1-m.cs | 275ms | 8.4ms | 36.8MB | 787ms | 20ms | dotnet 9.0.203 |
dart | 1.dart | 342ms | 2.2ms | 10.4MB | 343ms | 13ms | dart/exe 3.7.3 |
kotlin | 1.kt | 387ms | 13ms | 17.4MB | 397ms | 0ms | kotlin/native 2.1.20 |
java | 1-m.java | 413ms | 26ms | 94.6MB | 1330ms | 63ms | openjdk 23 |
kotlin | 1-m.kt | 480ms | 15ms | 74.4MB | 1100ms | 47ms | kotlin/jvm 21 |
java | 1-m.java | 490ms | 23ms | 120.6MB | 1650ms | 70ms | openjdk 21 |
java | 1-m.java | 654ms | 6.4ms | 213.7MB | 1737ms | 257ms | openjdk/zgc 21 |
python | 1.py | 689ms | 14ms | 16.8MB | 670ms | 3ms | pyston 3.8.12 |
kotlin | 2-m.kt | 881ms | 82ms | 95.9MB | 3080ms | 67ms | kotlin/jvm 21 |
d | 1.d | 1032ms | 3.6ms | 12.3MB | 1013ms | 10ms | ldc2 1.40.1 |
d | 1.d | 1375ms | 5.4ms | 12.2MB | 1357ms | 10ms | dmd 2.111.0 |
v | 1-m.v | 1412ms | 30ms | 9.8MB | 2280ms | 3097ms | v/clang 0.4.10 |
v | 1-m.v | 1430ms | 41ms | 10.3MB | 2463ms | 2910ms | v/clang+gc 0.4.10 |
nim | 1.nim | 4338ms | 12ms | 519.4MB | 2163ms | 1750ms | nim 2.2.4 |
nim | 1.nim | 4380ms | 6.7ms | 518.6MB | 2120ms | 1837ms | nim/clang 2.2.4 |
ruby | 1.rb | timeout | 0.0ms | 351.9MB | 4730ms | 1453ms | truffleruby 24.2.1 |