Current benchmark data was generated on Thu Feb 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 |
---|---|---|---|---|---|---|---|
zig | 1.zig | 247ms | 1.0ms | 4.2MB | 237ms | 0ms | zig 0.12.0-dev.2341+92211135f |
rust | 9.rs | 247ms | 1.9ms | 4.9MB | 237ms | 0ms | rustc 1.77.0-nightly |
rust | 8.rs | 296ms | 1.9ms | 4.9MB | 287ms | 0ms | rustc 1.75.0 |
d | 1.d | 322ms | 1.3ms | 7.4MB | 310ms | 0ms | ldc2 1.36.0 |
crystal | 1.cr | 373ms | 1.3ms | 9.5MB | 360ms | 0ms | crystal 1.11.2 |
nim | 1.nim | 389ms | 2.4ms | 4.8MB | 377ms | 0ms | nim/clang 2.0.2 |
nim | 1.nim | 577ms | 3.8ms | 4.5MB | 563ms | 0ms | nim 2.0.2 |
csharp | 2.cs | 666ms | 69ms | 209.7MB | 540ms | 90ms | dotnet 8.0.101 |
wasm | 8.rs | 864ms | 2.7ms | 21.8MB | 850ms | 0ms | wasmtime 17.0.0 |
wasm | 8.rs | 1081ms | 21ms | 54.1MB | 1067ms | 13ms | node 18.19.0 |
java | 1b.java | 1159ms | 6.4ms | 54.5MB | 1263ms | 30ms | openjdk 21 |
java | 1b.java | 1160ms | 10ms | 54.8MB | 1273ms | 23ms | openjdk 23 |
java | 1b.java | 1196ms | 32ms | 107.7MB | 1377ms | 40ms | graal/jvm 17.0.8 |
java | 1.java | 1255ms | 1.2ms | 131.4MB | 1353ms | 53ms | graal/jvm 17.0.8 |
java | 1b.java | 1269ms | 25ms | 52.8MB | 1257ms | 137ms | openjdk/zgc 21 |
odin | 1.odin | 1571ms | 1.6ms | 4.6MB | 1560ms | 0ms | odin 2024 |
java | 1a.java | 1650ms | 5.1ms | 54.9MB | 1750ms | 20ms | openjdk 21 |
java | 1a.java | 1665ms | 3.7ms | 54.7MB | 1760ms | 17ms | openjdk 23 |
java | 1a.java | 1686ms | 18ms | 103.8MB | 1813ms | 33ms | graal/jvm 17.0.8 |
java | 1.java | 1695ms | 6.4ms | 202.3MB | 1747ms | 60ms | openjdk 23 |
java | 1.java | 1697ms | 4.4ms | 258.0MB | 1760ms | 47ms | openjdk 21 |
java | 1a.java | 1768ms | 4.0ms | 51.7MB | 1740ms | 143ms | openjdk/zgc 21 |
csharp | 1.cs | 2059ms | 1.7ms | 42.1MB | 2023ms | 10ms | dotnet 8.0.101 |
d | 1.d | 2117ms | 11ms | 9.0MB | 2103ms | 0ms | dmd 2.106.1 |
java | 1.java | 2356ms | 6.1ms | 864.1MB | 1797ms | 667ms | openjdk/zgc 21 |
csharp | 3.cs | 2491ms | 24ms | 42.5MB | 2443ms | 20ms | dotnet 8.0.101 |
csharp | 3.cs | 2491ms | 7.0ms | 22.6MB | 2487ms | 0ms | dotnet/aot 8.0.101 |
go | 1.go | 3215ms | 5.5ms | 7.3MB | 3203ms | 3ms | go 1.21.6 |
csharp | 1.cs | 3587ms | 56ms | 22.7MB | 3583ms | 0ms | dotnet/aot 8.0.101 |
go | 1.go | 4022ms | 4.0ms | 5.8MB | 4013ms | 0ms | tinygo 0.30.0 |
csharp | 1.cs | timeout | 0.0ms | 25.1MB | 4980ms | 3ms | mono 6.12.0 |
java | 2.java | timeout | 0.0ms | 662.0MB | 5350ms | 123ms | openjdk 21 |
java | 2.java | timeout | 0.0ms | 718.8MB | 5263ms | 137ms | openjdk 23 |
java | 2.java | timeout | 0.0ms | 3397.0MB | 3463ms | 1890ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 9.rs | 12ms | 0.1ms | 2.0MB | 10ms | 0ms | rustc 1.77.0-nightly |
zig | 1.zig | 13ms | 2.0ms | 1.3MB | 0ms | 0ms | zig 0.12.0-dev.2341+92211135f |
rust | 8.rs | 15ms | 0.3ms | 2.0MB | 10ms | 0ms | rustc 1.75.0 |
d | 1.d | 16ms | 0.3ms | 3.0MB | 10ms | 0ms | ldc2 1.36.0 |
nim | 1.nim | 19ms | 0.8ms | 1.9MB | 10ms | 0ms | nim/clang 2.0.2 |
crystal | 1.cr | 20ms | 0.3ms | 6.0MB | 10ms | 0ms | crystal 1.11.2 |
nim | 1.nim | 28ms | 0.5ms | 1.6MB | 20ms | 0ms | nim 2.0.2 |
wasm | 8.rs | 44ms | 0.3ms | 18.9MB | 37ms | 3ms | wasmtime 17.0.0 |
odin | 1.odin | 68ms | 0.5ms | 1.8MB | 60ms | 0ms | odin 2024 |
wasm | 8.rs | 85ms | 3.1ms | 51.0MB | 80ms | 3ms | node 18.19.0 |
d | 1.d | 97ms | 11ms | 4.4MB | 87ms | 0ms | dmd 2.106.1 |
csharp | 3.cs | 116ms | 1.6ms | 19.4MB | 110ms | 0ms | dotnet/aot 8.0.101 |
csharp | 2.cs | 138ms | 11ms | 46.2MB | 103ms | 7ms | dotnet 8.0.101 |
go | 1.go | 138ms | 2.8ms | 3.3MB | 127ms | 0ms | go 1.21.6 |
csharp | 1.cs | 160ms | 4.9ms | 39.4MB | 127ms | 3ms | dotnet 8.0.101 |
csharp | 1.cs | 162ms | 2.6ms | 19.7MB | 157ms | 3ms | dotnet/aot 8.0.101 |
go | 1.go | 168ms | 2.2ms | 0.3MB | 160ms | 0ms | tinygo 0.30.0 |
java | 1b-m.java | 177ms | 1.0ms | 49.4MB | 273ms | 17ms | openjdk 21 |
java | 1b-m.java | 182ms | 8.4ms | 49.7MB | 280ms | 23ms | openjdk 23 |
java | 1a-m.java | 188ms | 3.7ms | 50.9MB | 287ms | 23ms | openjdk 21 |
java | 1-m.java | 190ms | 3.8ms | 81.4MB | 267ms | 27ms | openjdk 21 |
java | 1a-m.java | 194ms | 8.4ms | 49.9MB | 270ms | 30ms | openjdk 23 |
java | 1-m.java | 195ms | 5.2ms | 111.3MB | 287ms | 50ms | graal/jvm 17.0.8 |
java | 1-m.java | 198ms | 3.6ms | 77.5MB | 280ms | 27ms | openjdk 23 |
csharp | 3.cs | 218ms | 31ms | 39.6MB | 177ms | 13ms | dotnet 8.0.101 |
java | 1a-m.java | 220ms | 15ms | 103.9MB | 330ms | 40ms | graal/jvm 17.0.8 |
java | 1b-m.java | 240ms | 24ms | 105.9MB | 393ms | 50ms | graal/jvm 17.0.8 |
java | 1b.java | 309ms | 29ms | 47.6MB | 307ms | 137ms | openjdk/zgc 21 |
java | 1a.java | 310ms | 4.8ms | 51.0MB | 290ms | 137ms | openjdk/zgc 21 |
java | 1.java | 337ms | 2.2ms | 114.3MB | 263ms | 170ms | openjdk/zgc 21 |
java | 2-m.java | 543ms | 4.9ms | 575.4MB | 813ms | 90ms | openjdk 23 |
java | 2-m.java | 552ms | 12ms | 661.2MB | 837ms | 87ms | openjdk 21 |
csharp | 1.cs | 569ms | 2.0ms | 26.0MB | 553ms | 3ms | mono 6.12.0 |
java | 2.java | 1585ms | 4.1ms | 1394.5MB | 830ms | 1050ms | openjdk/zgc 21 |