Current benchmark data was generated on Sun Dec 01 2024, 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 | 475ms | 53ms | 15.6MB | 1840ms | 0ms | go 1.23.3 |
rust | 3-m.rs | 551ms | 82ms | 11.1MB | 2080ms | 57ms | rustc 1.83.0 |
rust | 5-m.rs | 656ms | 59ms | 7.5MB | 2470ms | 83ms | rustc 1.83.0 |
rust | 1-m.rs | 1003ms | 5.2ms | 10.4MB | 3537ms | 357ms | rustc 1.83.0 |
wasm | 3.rs | 1094ms | 34ms | 38.6MB | 1077ms | 3ms | wasmer/llvm 5.0.2 |
rust | 3.rs | 1139ms | 24ms | 9.3MB | 1087ms | 37ms | rustc 1.83.0 |
wasm | 3.rs | 1163ms | 43ms | 21.3MB | 1150ms | 0ms | wasmtime 27.0.0 |
python | 1.py | 1178ms | 15ms | 102.5MB | 1133ms | 30ms | pypy 3.10.14 |
crystal | 1.cr | 1318ms | 45ms | 20.1MB | 1233ms | 67ms | crystal 1.14.0 |
typescript | 1.ts | 1354ms | 23ms | 92.3MB | 1403ms | 43ms | deno 2.1.2 |
go | 1.go | 1414ms | 6.0ms | 256.2MB | 1393ms | 7ms | tinygo 0.34.0 |
ruby | 1.rb | 1415ms | 30ms | 78.4MB | 1310ms | 93ms | ruby/yjit 3.3.6 |
javascript | 1.js | 1579ms | 4.5ms | 93.9MB | 1667ms | 47ms | node 23.3.0 |
kotlin | 2-m.kt | 1604ms | 72ms | 235.4MB | 5907ms | 97ms | kotlin/jvm 21 |
ruby | 1.rb | 1783ms | 20ms | 78.3MB | 1687ms | 80ms | ruby 3.3.6 |
java | 1-m.java | 1892ms | 152ms | 260.4MB | 7077ms | 137ms | openjdk 21 |
rust | 4.rs | 1910ms | 26ms | 7.5MB | 1897ms | 0ms | rustc 1.83.0 |
csharp | 1-m.cs | 2131ms | 158ms | 64.3MB | 7320ms | 87ms | dotnet/aot 9.0.100 |
kotlin | 1.kt | 2135ms | 35ms | 220.1MB | 2943ms | 63ms | kotlin/jvm 21 |
javascript | 1.js | 2164ms | 25ms | 99.8MB | 2190ms | 60ms | bun 1.1.38 |
chapel | 1-m.chpl | 2252ms | 19ms | 555.7MB | 4367ms | 70ms | chpl 1.31.0 |
java | 1-m.java | 2285ms | 225ms | 241.9MB | 8653ms | 137ms | openjdk 23 |
csharp | 1-m.cs | 2544ms | 83ms | 88.7MB | 8743ms | 133ms | dotnet 9.0.100 |
java | 1-m.java | 2814ms | 339ms | 1205.1MB | 8973ms | 1127ms | openjdk/zgc 21 |
dart | 1.dart | 4897ms | 55ms | 19.0MB | 5510ms | 73ms | dart/exe 3.5.4 |
d | 1.d | timeout | 0.0ms | 16.1MB | 4970ms | 20ms | dmd 2.109.1 |
d | 1.d | timeout | 0.0ms | 15.5MB | 4960ms | 27ms | ldc2 1.39.0 |
kotlin | 1.kt | timeout | 0.0ms | 14.9MB | 6260ms | 513ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | timeout | 0.0ms | 85.0MB | 19090ms | 157ms | kotlin/native 1.8.21 |
nim | 1.nim | timeout | 0.0ms | 552.6MB | 2520ms | 2020ms | nim/clang 2.2.0 |
nim | 1.nim | timeout | 0.0ms | 545.3MB | 2497ms | 2050ms | nim 2.2.0 |
python | 1.py | timeout | 0.0ms | 21.1MB | 4977ms | 7ms | cpython 3.13.0 |
python | 1.py | timeout | 0.0ms | 17.1MB | 4977ms | 7ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 768.0MB | 4493ms | 1697ms | truffleruby 24.1.1 |
v | 1.v | timeout | 0.0ms | 22.7MB | 9123ms | 10333ms | v/clang+gc 0.4.8 |
v | 1.v | timeout | 0.0ms | 22.2MB | 9390ms | 10183ms | v/clang 0.4.8 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 40ms | 5.4ms | 7.5MB | 123ms | 0ms | go 1.23.3 |
rust | 3-m.rs | 55ms | 3.7ms | 6.2MB | 163ms | 13ms | rustc 1.83.0 |
rust | 5-m.rs | 57ms | 9.9ms | 7.2MB | 147ms | 17ms | rustc 1.83.0 |
rust | 3.rs | 72ms | 3.4ms | 4.0MB | 57ms | 0ms | rustc 1.83.0 |
crystal | 1.cr | 77ms | 1.0ms | 7.5MB | 50ms | 13ms | crystal 1.14.0 |
wasm | 3.rs | 80ms | 1.4ms | 21.8MB | 63ms | 0ms | wasmtime 27.0.0 |
wasm | 3.rs | 81ms | 2.4ms | 39.2MB | 63ms | 3ms | wasmer/llvm 5.0.2 |
rust | 1-m.rs | 84ms | 2.4ms | 5.8MB | 257ms | 40ms | rustc 1.83.0 |
rust | 4.rs | 114ms | 0.3ms | 3.4MB | 103ms | 0ms | rustc 1.83.0 |
typescript | 1.ts | 147ms | 3.6ms | 75.5MB | 133ms | 17ms | deno 2.1.2 |
javascript | 1.js | 155ms | 1.6ms | 76.4MB | 140ms | 23ms | node 23.3.0 |
csharp | 1-m.cs | 169ms | 15ms | 31.1MB | 443ms | 23ms | dotnet/aot 9.0.100 |
ruby | 1.rb | 172ms | 3.9ms | 40.4MB | 120ms | 37ms | ruby/yjit 3.3.6 |
javascript | 1.js | 180ms | 1.0ms | 85.4MB | 213ms | 17ms | bun 1.1.38 |
chapel | 1-m.chpl | 196ms | 3.7ms | 508.7MB | 307ms | 43ms | chpl 1.31.0 |
ruby | 1.rb | 197ms | 2.8ms | 40.1MB | 143ms | 37ms | ruby 3.3.6 |
python | 1.py | 219ms | 6.3ms | 84.3MB | 183ms | 20ms | pypy 3.10.14 |
go | 1.go | 257ms | 2.0ms | 66.7MB | 240ms | 0ms | tinygo 0.34.0 |
csharp | 1-m.cs | 299ms | 25ms | 49.4MB | 797ms | 27ms | dotnet 9.0.100 |
dart | 1.dart | 330ms | 5.5ms | 10.0MB | 330ms | 10ms | dart/exe 3.5.4 |
java | 1-m.java | 407ms | 11ms | 119.1MB | 1330ms | 63ms | openjdk 21 |
kotlin | 2-m.kt | 419ms | 4.7ms | 54.7MB | 1533ms | 27ms | kotlin/native 1.8.21 |
java | 1-m.java | 425ms | 21ms | 91.8MB | 1383ms | 57ms | openjdk 23 |
kotlin | 1-m.kt | 483ms | 3.9ms | 74.0MB | 1130ms | 37ms | kotlin/jvm 21 |
python | 1.py | 572ms | 3.4ms | 20.4MB | 543ms | 10ms | cpython 3.13.0 |
java | 1-m.java | 663ms | 29ms | 209.0MB | 1780ms | 253ms | openjdk/zgc 21 |
kotlin | 1.kt | 678ms | 2.7ms | 10.8MB | 817ms | 63ms | kotlin/native 1.8.21 |
python | 1.py | 685ms | 13ms | 16.8MB | 663ms | 7ms | pyston 3.8.12 |
kotlin | 2-m.kt | 790ms | 26ms | 99.0MB | 2727ms | 67ms | kotlin/jvm 21 |
d | 1.d | 1034ms | 18ms | 8.4MB | 1010ms | 10ms | ldc2 1.39.0 |
d | 1.d | 1318ms | 12ms | 10.6MB | 1300ms | 7ms | dmd 2.109.1 |
v | 1-m.v | 2847ms | 390ms | 15.8MB | 5313ms | 5787ms | v/clang 0.4.8 |
v | 1-m.v | 2925ms | 120ms | 20.2MB | 5463ms | 5907ms | v/clang+gc 0.4.8 |
nim | 1.nim | 4405ms | 8.9ms | 519.8MB | 2203ms | 1773ms | nim/clang 2.2.0 |
nim | 1.nim | 4519ms | 16ms | 519.3MB | 2230ms | 1857ms | nim 2.2.0 |
ruby | 1.rb | timeout | 0.0ms | 670.5MB | 4720ms | 1480ms | truffleruby 24.1.1 |