Current benchmark data was generated on Thu Jul 13 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 | 9.rs | 412ms | 1.0ms | 4.9MB | 400ms | 0ms | rustc 1.73.0-nightly |
zig | 1.zig | 422ms | 0.1ms | 4.2MB | 410ms | 0ms | zig 0.11.0-dev.3978+711b4e93e |
rust | 8.rs | 490ms | 1.3ms | 4.9MB | 477ms | 0ms | rustc 1.70.0 |
d | 1.d | 570ms | 0.4ms | 6.6MB | 560ms | 0ms | ldc2 1.32.2 |
crystal | 1.cr | 585ms | 11ms | 9.8MB | 570ms | 0ms | crystal 1.9.0 |
nim | 1.nim | 656ms | 0.7ms | 4.8MB | 647ms | 0ms | nim/clang 1.6.14 |
csharp | 2.cs | 730ms | 8.6ms | 94.3MB | 670ms | 30ms | dotnet 7.0.306 |
nim | 1.nim | 983ms | 0.4ms | 4.3MB | 970ms | 0ms | nim 1.6.14 |
wasm | 8.rs | 1095ms | 1.0ms | 31.9MB | 1077ms | 3ms | wasmedgec 0.13.1 |
wasm | 8.rs | 1250ms | 0.2ms | 19.3MB | 1233ms | 0ms | wasmtime 10.0.1 |
wasm | 8.rs | 1369ms | 3.6ms | 54.1MB | 1350ms | 13ms | node 18.16.1 |
java | 1b.java | 1411ms | 4.8ms | 47.7MB | 1480ms | 20ms | openjdk 22 |
java | 1b.java | 1424ms | 14ms | 47.3MB | 1527ms | 13ms | openjdk 20 |
java | 1b.java | 1458ms | 20ms | 47.4MB | 1507ms | 60ms | openjdk/zgc 20 |
java | 1b.java | 1470ms | 5.7ms | 108.0MB | 1697ms | 27ms | graal/jvm 17.0.7 |
java | 1a.java | 1541ms | 3.5ms | 47.3MB | 1613ms | 13ms | openjdk 20 |
java | 1a.java | 1552ms | 5.7ms | 48.0MB | 1623ms | 17ms | openjdk 22 |
java | 1a.java | 1557ms | 2.6ms | 99.4MB | 1653ms | 17ms | graal/jvm 17.0.7 |
java | 1a.java | 1579ms | 7.5ms | 48.6MB | 1623ms | 53ms | openjdk/zgc 20 |
odin | 1.odin | 1584ms | 1.4ms | 4.5MB | 1570ms | 0ms | odin 2023 |
java | 1.java | 1620ms | 3.0ms | 205.7MB | 1643ms | 43ms | openjdk 22 |
java | 1.java | 2015ms | 21ms | 163.3MB | 2103ms | 33ms | graal/jvm 17.0.7 |
java | 1.java | 2133ms | 6.2ms | 200.5MB | 2180ms | 40ms | openjdk 20 |
java | 1.java | 2521ms | 8.8ms | 576.8MB | 2233ms | 397ms | openjdk/zgc 20 |
d | 1.d | 2563ms | 3.9ms | 8.0MB | 2550ms | 0ms | dmd 2.104.1 |
csharp | 3.cs | 3572ms | 81ms | 38.6MB | 3537ms | 3ms | dotnet 7.0.306 |
csharp | 1.cs | 3945ms | 14ms | 38.7MB | 3907ms | 10ms | dotnet 7.0.306 |
go | 1.go | 4379ms | 2.8ms | 7.3MB | 4363ms | 0ms | go 1.20.6 |
csharp | 3.cs | 4830ms | 13ms | 19.6MB | 4823ms | 0ms | dotnet/aot 7.0.306 |
csharp | 1.cs | timeout | 0.0ms | 15.4MB | 4980ms | 3ms | dotnet/aot 7.0.306 |
csharp | 1.cs | timeout | 0.0ms | 26.8MB | 4977ms | 3ms | mono 6.12.0 |
go | 1.go | timeout | 0.0ms | 5.4MB | 4983ms | 0ms | tinygo 0.28.1 |
java | 2.java | timeout | 0.0ms | 583.5MB | 5140ms | 137ms | openjdk 20 |
java | 2.java | timeout | 0.0ms | 535.8MB | 5163ms | 127ms | openjdk 22 |
java | 2.java | timeout | 0.0ms | 1758.3MB | 4587ms | 833ms | openjdk/zgc 20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 9.rs | 19ms | 0.1ms | 1.1MB | 10ms | 0ms | rustc 1.73.0-nightly |
zig | 1.zig | 20ms | 0.2ms | 0.9MB | 10ms | 0ms | zig 0.11.0-dev.3978+711b4e93e |
rust | 8.rs | 23ms | 0.5ms | 1.0MB | 10ms | 0ms | rustc 1.70.0 |
d | 1.d | 26ms | 0.2ms | 3.0MB | 17ms | 0ms | ldc2 1.32.2 |
crystal | 1.cr | 29ms | 0.2ms | 6.9MB | 20ms | 0ms | crystal 1.9.0 |
nim | 1.nim | 30ms | 0.7ms | 1.2MB | 20ms | 0ms | nim/clang 1.6.14 |
nim | 1.nim | 43ms | 0.7ms | 1.1MB | 30ms | 0ms | nim 1.6.14 |
wasm | 8.rs | 56ms | 0.1ms | 28.4MB | 50ms | 0ms | wasmedgec 0.13.1 |
wasm | 8.rs | 61ms | 0.7ms | 15.9MB | 47ms | 0ms | wasmtime 10.0.1 |
odin | 1.odin | 68ms | 0.3ms | 1.2MB | 60ms | 0ms | odin 2023 |
wasm | 8.rs | 104ms | 1.8ms | 49.6MB | 97ms | 3ms | node 18.16.1 |
d | 1.d | 122ms | 24ms | 4.4MB | 110ms | 0ms | dmd 2.104.1 |
csharp | 2.cs | 128ms | 6.6ms | 43.0MB | 97ms | 3ms | dotnet 7.0.306 |
go | 1.go | 182ms | 0.2ms | 2.9MB | 170ms | 0ms | go 1.20.6 |
csharp | 3.cs | 207ms | 1.4ms | 12.5MB | 200ms | 0ms | dotnet/aot 7.0.306 |
java | 1a.java | 210ms | 9.5ms | 44.0MB | 257ms | 20ms | openjdk 20 |
java | 1a.java | 215ms | 2.1ms | 44.1MB | 270ms | 10ms | openjdk 22 |
java | 1.java | 219ms | 11ms | 95.5MB | 263ms | 20ms | openjdk 20 |
java | 1b.java | 219ms | 8.3ms | 43.1MB | 267ms | 20ms | openjdk 20 |
java | 1b.java | 224ms | 5.1ms | 43.7MB | 297ms | 10ms | openjdk 22 |
csharp | 1.cs | 228ms | 1.1ms | 35.5MB | 187ms | 13ms | dotnet 7.0.306 |
csharp | 3.cs | 230ms | 4.3ms | 35.9MB | 193ms | 3ms | dotnet 7.0.306 |
java | 1a.java | 234ms | 13ms | 95.4MB | 300ms | 20ms | graal/jvm 17.0.7 |
java | 1.java | 241ms | 10ms | 98.0MB | 293ms | 23ms | openjdk 22 |
java | 1.java | 242ms | 14ms | 101.2MB | 313ms | 23ms | graal/jvm 17.0.7 |
go | 1.go | 243ms | 0.5ms | 0.0MB | 230ms | 0ms | tinygo 0.28.1 |
java | 1b-m.java | 250ms | 31ms | 96.5MB | 370ms | 27ms | graal/jvm 17.0.7 |
java | 1a.java | 251ms | 2.6ms | 45.6MB | 260ms | 57ms | openjdk/zgc 20 |
java | 1b.java | 266ms | 9.2ms | 44.9MB | 293ms | 53ms | openjdk/zgc 20 |
csharp | 1.cs | 274ms | 1.5ms | 11.3MB | 267ms | 0ms | dotnet/aot 7.0.306 |
java | 1.java | 292ms | 13ms | 110.2MB | 303ms | 77ms | openjdk/zgc 20 |
java | 2.java | 778ms | 33ms | 545.6MB | 950ms | 117ms | openjdk 22 |
java | 2.java | 788ms | 25ms | 566.3MB | 973ms | 120ms | openjdk 20 |
csharp | 1.cs | 833ms | 0.8ms | 26.7MB | 820ms | 0ms | mono 6.12.0 |
java | 2.java | 1377ms | 10ms | 1001.3MB | 1017ms | 643ms | openjdk/zgc 20 |