Current benchmark data was generated on Tue Mar 25 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 | 457ms | 43ms | 14.8MB | 1773ms | 0ms | go 1.24.1 |
rust | 3-m.rs | 581ms | 48ms | 9.3MB | 2187ms | 73ms | rustc 1.85.1 |
rust | 5-m.rs | 617ms | 62ms | 5.6MB | 2333ms | 63ms | rustc 1.85.1 |
go | 1.go | 741ms | 2.7ms | 269.0MB | 683ms | 43ms | tinygo 0.37.0 |
rust | 1-m.rs | 957ms | 7.3ms | 8.4MB | 3493ms | 230ms | rustc 1.85.1 |
rust | 3.rs | 1163ms | 33ms | 9.3MB | 1117ms | 30ms | rustc 1.85.1 |
typescript | 1.ts | 1165ms | 5.2ms | 119.3MB | 1153ms | 57ms | deno 2.2.5 |
wasm | 3.rs | 1202ms | 100ms | 19.4MB | 1187ms | 0ms | wasmtime 31.0.0 |
python | 1.py | 1280ms | 15ms | 107.2MB | 1230ms | 37ms | pypy 3.10.16 |
crystal | 1.cr | 1381ms | 34ms | 19.6MB | 1307ms | 57ms | crystal 1.15.1 |
ruby | 1.rb | 1467ms | 40ms | 63.8MB | 1387ms | 63ms | ruby/yjit 3.4.2 |
javascript | 1.js | 1632ms | 8.2ms | 90.4MB | 1723ms | 60ms | node 23.10.0 |
ruby | 1.rb | 1869ms | 46ms | 63.1MB | 1790ms | 63ms | ruby 3.4.2 |
rust | 4.rs | 1886ms | 1.9ms | 7.4MB | 1870ms | 0ms | rustc 1.85.1 |
kotlin | 2-m.kt | 1971ms | 329ms | 240.9MB | 7313ms | 117ms | kotlin/jvm 21 |
kotlin | 1.kt | 2173ms | 16ms | 221.5MB | 2997ms | 77ms | kotlin/jvm 21 |
csharp | 1-m.cs | 2245ms | 111ms | 50.1MB | 7953ms | 83ms | dotnet/aot 9.0.202 |
chapel | 1-m.chpl | 2266ms | 93ms | 525.8MB | 4393ms | 80ms | chpl 1.31.0 |
java | 1-m.java | 2416ms | 202ms | 242.7MB | 9177ms | 143ms | openjdk 23 |
java | 1-m.java | 2460ms | 134ms | 259.7MB | 9333ms | 137ms | openjdk 21 |
javascript | 1.js | 2522ms | 17ms | 103.0MB | 2550ms | 60ms | bun 1.2.6 |
python | 1.py | 2668ms | 8.1ms | 25.1MB | 2643ms | 10ms | cpython 3.13.2 |
csharp | 1-m.cs | 2817ms | 51ms | 72.8MB | 8863ms | 100ms | dotnet 9.0.202 |
java | 1-m.java | 2898ms | 214ms | 1236.9MB | 9260ms | 1187ms | openjdk/zgc 21 |
dart | 1.dart | 4834ms | 31ms | 19.4MB | 5307ms | 73ms | dart/exe 3.7.2 |
d | 1.d | timeout | 0.0ms | 17.7MB | 4967ms | 23ms | dmd 2.110.0 |
d | 1.d | timeout | 0.0ms | 16.5MB | 4963ms | 20ms | ldc2 1.40.1 |
kotlin | 1.kt | timeout | 0.0ms | 12.7MB | 5997ms | 487ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | timeout | 0.0ms | 69.6MB | 19047ms | 153ms | kotlin/native 1.8.21 |
nim | 1.nim | timeout | 0.0ms | 559.8MB | 2507ms | 2027ms | nim/clang 2.2.2 |
nim | 1.nim | timeout | 0.0ms | 553.5MB | 2540ms | 2000ms | nim 2.2.2 |
python | 1.py | timeout | 0.0ms | 17.4MB | 4980ms | 10ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 336.9MB | 4703ms | 1443ms | truffleruby 24.2.0 |
v | 1.v | timeout | 0.0ms | 18.4MB | 8913ms | 10293ms | v/clang+gc 0.4.10 |
v | 1.v | timeout | 0.0ms | 17.9MB | 8577ms | 10773ms | v/clang 0.4.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 42ms | 3.4ms | 7.5MB | 137ms | 0ms | go 1.24.1 |
rust | 5-m.rs | 54ms | 1.7ms | 3.3MB | 163ms | 13ms | rustc 1.85.1 |
rust | 3-m.rs | 59ms | 1.8ms | 4.1MB | 187ms | 10ms | rustc 1.85.1 |
crystal | 1.cr | 71ms | 3.7ms | 7.1MB | 50ms | 10ms | crystal 1.15.1 |
rust | 3.rs | 72ms | 1.0ms | 4.0MB | 60ms | 0ms | rustc 1.85.1 |
go | 1.go | 73ms | 2.2ms | 68.8MB | 50ms | 10ms | tinygo 0.37.0 |
rust | 1-m.rs | 73ms | 0.5ms | 3.9MB | 233ms | 23ms | rustc 1.85.1 |
wasm | 3.rs | 87ms | 4.6ms | 18.0MB | 73ms | 0ms | wasmtime 31.0.0 |
rust | 4.rs | 119ms | 3.2ms | 3.3MB | 110ms | 0ms | rustc 1.85.1 |
typescript | 1.ts | 148ms | 1.4ms | 71.4MB | 130ms | 20ms | deno 2.2.5 |
ruby | 1.rb | 160ms | 2.1ms | 25.6MB | 123ms | 20ms | ruby/yjit 3.4.2 |
javascript | 1.js | 162ms | 1.1ms | 72.0MB | 147ms | 23ms | node 23.10.0 |
csharp | 1-m.cs | 169ms | 13ms | 18.8MB | 480ms | 20ms | dotnet/aot 9.0.202 |
ruby | 1.rb | 180ms | 2.8ms | 25.1MB | 150ms | 20ms | ruby 3.4.2 |
javascript | 1.js | 198ms | 4.2ms | 87.2MB | 220ms | 27ms | bun 1.2.6 |
chapel | 1-m.chpl | 198ms | 4.8ms | 494.6MB | 317ms | 50ms | chpl 1.31.0 |
python | 1.py | 221ms | 0.4ms | 86.7MB | 183ms | 23ms | pypy 3.10.16 |
python | 1.py | 239ms | 1.7ms | 20.3MB | 220ms | 10ms | cpython 3.13.2 |
csharp | 1-m.cs | 272ms | 7.4ms | 37.8MB | 760ms | 20ms | dotnet 9.0.202 |
dart | 1.dart | 352ms | 7.7ms | 10.3MB | 360ms | 10ms | dart/exe 3.7.2 |
kotlin | 2-m.kt | 432ms | 2.7ms | 14.5MB | 1600ms | 20ms | kotlin/native 1.8.21 |
java | 1-m.java | 440ms | 30ms | 92.7MB | 1440ms | 60ms | openjdk 23 |
kotlin | 1-m.kt | 468ms | 13ms | 76.2MB | 1060ms | 43ms | kotlin/jvm 21 |
java | 1-m.java | 488ms | 40ms | 121.4MB | 1617ms | 60ms | openjdk 21 |
python | 1.py | 663ms | 2.7ms | 16.8MB | 637ms | 10ms | pyston 3.8.12 |
java | 1-m.java | 671ms | 16ms | 222.0MB | 1810ms | 263ms | openjdk/zgc 21 |
kotlin | 1.kt | 689ms | 14ms | 8.8MB | 817ms | 63ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | 815ms | 9.7ms | 96.8MB | 2827ms | 77ms | kotlin/jvm 21 |
d | 1.d | 1032ms | 16ms | 12.2MB | 1010ms | 7ms | ldc2 1.40.1 |
d | 1.d | 1329ms | 7.9ms | 14.5MB | 1303ms | 13ms | dmd 2.110.0 |
v | 1-m.v | 1347ms | 37ms | 9.6MB | 2260ms | 2830ms | v/clang 0.4.10 |
v | 1-m.v | 1382ms | 26ms | 10.4MB | 2263ms | 2907ms | v/clang+gc 0.4.10 |
nim | 1.nim | 4311ms | 7.9ms | 519.8MB | 2117ms | 1770ms | nim/clang 2.2.2 |
nim | 1.nim | 4368ms | 20ms | 519.3MB | 2157ms | 1783ms | nim 2.2.2 |
ruby | 1.rb | timeout | 0.0ms | 333.3MB | 4763ms | 1447ms | truffleruby 24.2.0 |