Current benchmark data was generated on Wed Mar 22 2023, 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 | 989ms | 18ms | 6.2MB | 1880ms | 23ms | rustc 1.68.0 |
go | 1-m.go | 1182ms | 121ms | 13.5MB | 2297ms | 7ms | go 1.20.2 |
python | 1.py | 1253ms | 5.3ms | 193.1MB | 1167ms | 67ms | pypy 3.9.16 |
rust | 5-m.rs | 1356ms | 89ms | 4.6MB | 2623ms | 23ms | rustc 1.68.0 |
wasm | 3.rs | 1531ms | 71ms | 58.5MB | 1547ms | 7ms | node 18.15.0 |
wasm | 3.rs | 1540ms | 15ms | 14.3MB | 1530ms | 0ms | wasmtime 7.0.0 |
crystal | 1.cr | 1816ms | 1.9ms | 20.3MB | 1773ms | 20ms | crystal 1.7.3 |
rust | 3.rs | 1919ms | 11ms | 6.2MB | 1880ms | 23ms | rustc 1.68.0 |
wasm | 3.rs | 1949ms | 6.3ms | 18.3MB | 1933ms | 0ms | wasmedgec 0.11.2 |
typescript | 1.ts | 1988ms | 37ms | 79.4MB | 2000ms | 30ms | deno 1.31.3 |
javascript | 1.js | 2407ms | 21ms | 82.1MB | 2447ms | 47ms | node 19.8.1 |
kotlin | 1.kt | 2871ms | 113ms | 160.2MB | 3643ms | 63ms | kotlin/jvm 17.0.2 |
rust | 1-m.rs | 2932ms | 28ms | 5.0MB | 5663ms | 80ms | rustc 1.68.0 |
kotlin | 2-m.kt | 2981ms | 233ms | 155.2MB | 5667ms | 80ms | kotlin/jvm 17.0.2 |
go | 1.go | 3050ms | 2.8ms | 253.1MB | 2987ms | 43ms | tinygo 0.27.0 |
rust | 4.rs | 3200ms | 8.6ms | 4.2MB | 3183ms | 0ms | rustc 1.68.0 |
ruby | 1.rb | 3273ms | 12ms | 82.7MB | 3213ms | 40ms | ruby/yjit 3.2.1 |
javascript | 1.js | 3349ms | 34ms | 115.9MB | 3340ms | 33ms | bun 0.5.8 |
java | 1-m.java | 3550ms | 375ms | 198.0MB | 6750ms | 97ms | openjdk 19 |
ruby | 1.rb | 3704ms | 36ms | 82.1MB | 3630ms | 53ms | ruby 3.2.1 |
chapel | 1-m.chpl | 4273ms | 62ms | 89.4MB | 8297ms | 43ms | chpl 1.29.0 |
java | 1-m.java | 4412ms | 34ms | 932.1MB | 7853ms | 540ms | openjdk/zgc 19 |
csharp | 1-m.cs | 4541ms | 248ms | 104.1MB | 7837ms | 77ms | dotnet 7.0.202 |
csharp | 1.cs | timeout | 0.0ms | 84.3MB | 9297ms | 63ms | dotnet/aot 7.0.202 |
d | 1.d | timeout | 0.0ms | 15.2MB | 4963ms | 17ms | dmd 2.102.2 |
d | 1.d | timeout | 0.0ms | 14.2MB | 4963ms | 17ms | ldc2 1.31.0 |
dart | 1.dart | timeout | 0.0ms | 24.8MB | 4910ms | 60ms | dart/exe 3.0.0-339.0.dev |
dart | 1.dart | timeout | 0.0ms | 26.3MB | 4930ms | 50ms | dart/exe 2.19.5 |
java | 1.java | timeout | 0.0ms | 143.0MB | 9343ms | 73ms | openjdk 21 |
kotlin | 1.kt | timeout | 0.0ms | 10.7MB | 6233ms | 313ms | kotlin/native 1.8.10 |
kotlin | 2-m.kt | timeout | 0.0ms | 29.9MB | 9310ms | 160ms | kotlin/native 1.8.10 |
nim | 1.nim | timeout | 0.0ms | 423.2MB | 3360ms | 1290ms | nim/clang 1.6.12 |
nim | 1.nim | timeout | 0.0ms | 420.9MB | 3417ms | 1237ms | nim 1.6.12 |
python | 1.py | timeout | 0.0ms | 20.0MB | 4980ms | 3ms | cpython 3.11.2 |
python | 1.py | timeout | 0.0ms | 17.0MB | 4973ms | 10ms | pyston 3.8.12 |
ruby | 1.rb | timeout | 0.0ms | 1118.6MB | 4167ms | 1353ms | truffleruby 22.3.1 |
v | 1.v | timeout | 0.0ms | 15.3MB | 5280ms | 4060ms | v/clang+gc 0.3.3 |
v | 1.v | timeout | 0.0ms | 21.1MB | 5263ms | 4157ms | v/clang 0.3.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 79ms | 14ms | 5.4MB | 133ms | 0ms | go 1.20.2 |
rust | 3-m.rs | 80ms | 5.4ms | 2.9MB | 127ms | 3ms | rustc 1.68.0 |
crystal | 1.cr | 102ms | 4.3ms | 7.3MB | 87ms | 3ms | crystal 1.7.3 |
wasm | 3.rs | 108ms | 4.5ms | 12.8MB | 93ms | 0ms | wasmtime 7.0.0 |
rust | 5-m.rs | 109ms | 8.6ms | 2.7MB | 190ms | 0ms | rustc 1.68.0 |
rust | 3.rs | 119ms | 0.5ms | 3.2MB | 107ms | 0ms | rustc 1.68.0 |
wasm | 3.rs | 134ms | 1.8ms | 16.5MB | 123ms | 0ms | wasmedgec 0.11.2 |
wasm | 3.rs | 167ms | 3.4ms | 57.4MB | 180ms | 3ms | node 18.15.0 |
typescript | 1.ts | 207ms | 6.9ms | 53.0MB | 173ms | 10ms | deno 1.31.3 |
rust | 1-m.rs | 208ms | 8.0ms | 3.0MB | 363ms | 10ms | rustc 1.68.0 |
rust | 4.rs | 211ms | 1.8ms | 2.6MB | 197ms | 0ms | rustc 1.68.0 |
javascript | 1.js | 221ms | 6.1ms | 63.1MB | 203ms | 7ms | node 19.8.1 |
ruby | 1.rb | 228ms | 3.7ms | 45.0MB | 193ms | 17ms | ruby/yjit 3.2.1 |
ruby | 1.rb | 241ms | 1.1ms | 44.5MB | 200ms | 27ms | ruby 3.2.1 |
javascript | 1.js | 243ms | 4.9ms | 103.5MB | 253ms | 17ms | bun 0.5.8 |
python | 1.py | 277ms | 8.3ms | 92.7MB | 243ms | 17ms | pypy 3.9.16 |
chapel | 1-m.chpl | 289ms | 13ms | 56.1MB | 507ms | 10ms | chpl 1.29.0 |
csharp | 1-m.cs | 374ms | 10ms | 66.5MB | 597ms | 40ms | dotnet/aot 7.0.202 |
go | 1.go | 485ms | 1.1ms | 66.8MB | 460ms | 10ms | tinygo 0.27.0 |
dart | 1.dart | 554ms | 0.8ms | 17.9MB | 530ms | 10ms | dart/exe 2.19.5 |
csharp | 1.cs | 557ms | 41ms | 84.3MB | 747ms | 47ms | dotnet 7.0.202 |
dart | 1.dart | 559ms | 7.4ms | 16.1MB | 527ms | 13ms | dart/exe 3.0.0-339.0.dev |
kotlin | 1-m.kt | 705ms | 19ms | 95.1MB | 1220ms | 53ms | kotlin/jvm 17.0.2 |
java | 1-m.java | 768ms | 36ms | 105.4MB | 1360ms | 40ms | openjdk 21 |
java | 1-m.java | 817ms | 113ms | 113.6MB | 1420ms | 57ms | openjdk 19 |
python | 1.py | 823ms | 17ms | 20.1MB | 800ms | 0ms | cpython 3.11.2 |
python | 1.py | 932ms | 1.9ms | 16.9MB | 910ms | 0ms | pyston 3.8.12 |
java | 1-m.java | 957ms | 32ms | 230.4MB | 1510ms | 203ms | openjdk/zgc 19 |
kotlin | 2-m.kt | 989ms | 35ms | 23.9MB | 1770ms | 47ms | kotlin/native 1.8.10 |
kotlin | 2-m.kt | 1005ms | 89ms | 113.5MB | 1827ms | 40ms | kotlin/jvm 17.0.2 |
kotlin | 1.kt | 1111ms | 13ms | 8.9MB | 1390ms | 50ms | kotlin/native 1.8.10 |
d | 1.d | 1340ms | 6.9ms | 10.4MB | 1323ms | 3ms | ldc2 1.31.0 |
d | 1.d | 1590ms | 13ms | 10.3MB | 1573ms | 3ms | dmd 2.102.2 |
v | 1-m.v | 3833ms | 456ms | 14.6MB | 4013ms | 3223ms | v/clang+gc 0.3.3 |
v | 1-m.v | 3883ms | 737ms | 25.2MB | 4040ms | 3180ms | v/clang 0.3.3 |
nim | 1.nim | timeout | 0.0ms | 422.4MB | 3427ms | 1223ms | nim/clang 1.6.12 |
nim | 1.nim | timeout | 0.0ms | 421.6MB | 3393ms | 1257ms | nim 1.6.12 |
ruby | 1.rb | timeout | 0.0ms | 1115.6MB | 4157ms | 1287ms | truffleruby 22.3.1 |