Current benchmark data was generated on Mon Mar 31 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 |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 909ms | 8.6ms | 192.3MB | 903ms | 150ms | dotnet 9.0.202 |
csharp | 1.cs | 978ms | 14ms | 172.2MB | 970ms | 130ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 1684ms | 30ms | 107.4MB | 1873ms | 210ms | mono 6.12.0 |
zig | 1.zig | 1822ms | 94ms | 49.0MB | 1787ms | 20ms | zig 0.14.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 120ms | 7.8ms | 31.5MB | 93ms | 27ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 142ms | 0.8ms | 44.3MB | 120ms | 13ms | mono 6.12.0 |
zig | 1.zig | 154ms | 1.6ms | 7.0MB | 140ms | 0ms | zig 0.14.0 |
csharp | 1.cs | 190ms | 1.3ms | 50.5MB | 147ms | 40ms | dotnet 9.0.202 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 89ms | 0.3ms | 1.0MB | 80ms | 0ms | zig 0.14.0 |
csharp | 5-m.cs | 125ms | 3.8ms | 22.3MB | 357ms | 80ms | dotnet/aot 9.0.202 |
csharp | 5-m.cs | 226ms | 19ms | 44.3MB | 470ms | 120ms | dotnet 9.0.202 |
csharp | 5-m.cs | 231ms | 6.2ms | 46.4MB | 667ms | 87ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 11ms | 0.8ms | 1.1MB | 0ms | 0ms | zig 0.14.0 |
csharp | 5-m.cs | 24ms | 0.7ms | 15.6MB | 30ms | 10ms | dotnet/aot 9.0.202 |
csharp | 5-m.cs | 64ms | 5.1ms | 37.0MB | 87ms | 17ms | dotnet 9.0.202 |
csharp | 5-m.cs | 72ms | 1.6ms | 29.1MB | 107ms | 17ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 1.0ms | 0.0ms | 1.0MB | 0ms | 0ms | zig 0.14.0 |
csharp | 1.cs | 7.6ms | 2.7ms | 9.6MB | 0ms | 0ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 32ms | 0.6ms | 21.3MB | 20ms | 0ms | mono 6.12.0 |
csharp | 1.cs | 45ms | 3.1ms | 26.3MB | 22ms | 8ms | dotnet 9.0.202 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 6-m.cs | 454ms | 15ms | 46.5MB | 1217ms | 17ms | dotnet/aot 9.0.202 |
zig | 1.zig | 499ms | 8.5ms | 26.3MB | 477ms | 7ms | zig 0.14.0 |
csharp | 6-m.cs | 749ms | 4.8ms | 68.6MB | 2083ms | 33ms | dotnet 9.0.202 |
csharp | 6-m.cs | 1035ms | 14ms | 66.4MB | 2993ms | 23ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 66ms | 2.2ms | 15.4MB | 53ms | 3ms | zig 0.14.0 |
csharp | 6-m.cs | 96ms | 4.5ms | 36.1MB | 153ms | 17ms | dotnet/aot 9.0.202 |
csharp | 6-m.cs | 178ms | 6.9ms | 57.5MB | 253ms | 30ms | dotnet 9.0.202 |
csharp | 6-m.cs | 200ms | 1.8ms | 50.6MB | 387ms | 20ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 34ms | 0.8ms | 2.8MB | 27ms | 0ms | zig 0.14.0 |
csharp | 2.cs | 95ms | 1.1ms | 9.8MB | 83ms | 0ms | dotnet/aot 9.0.202 |
csharp | 2.cs | 149ms | 1.5ms | 23.2MB | 140ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 251ms | 4.0ms | 29.6MB | 233ms | 10ms | dotnet 9.0.202 |
csharp | 1.cs | 1037ms | 4.4ms | 13.3MB | 1023ms | 7ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 1284ms | 17ms | 32.9MB | 1280ms | 3ms | dotnet 9.0.202 |
csharp | 1.cs | 3333ms | 39ms | 49.6MB | 3290ms | 30ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 92ms | 0.9ms | 2.8MB | 83ms | 0ms | zig 0.14.0 |
csharp | 2.cs | 273ms | 1.7ms | 9.9MB | 260ms | 0ms | dotnet/aot 9.0.202 |
csharp | 2.cs | 360ms | 3.5ms | 22.8MB | 343ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 403ms | 4.6ms | 29.3MB | 383ms | 7ms | dotnet 9.0.202 |
csharp | 1.cs | 3112ms | 26ms | 13.3MB | 3087ms | 10ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 3600ms | 76ms | 32.9MB | 3573ms | 20ms | dotnet 9.0.202 |
csharp | 1.cs | timeout | 0.0ms | 45.8MB | 4947ms | 43ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 16ms | 0.7ms | 1.3MB | 10ms | 0ms | zig 0.14.0 |
csharp | 2.cs | 53ms | 0.6ms | 9.6MB | 40ms | 0ms | dotnet/aot 9.0.202 |
csharp | 2.cs | 93ms | 2.5ms | 22.7MB | 80ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 171ms | 0.3ms | 29.1MB | 143ms | 7ms | dotnet 9.0.202 |
csharp | 1.cs | 1619ms | 3.8ms | 32.5MB | 1610ms | 10ms | dotnet 9.0.202 |
csharp | 1.cs | 1803ms | 2.1ms | 12.9MB | 1790ms | 0ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 1821ms | 8.6ms | 28.8MB | 1803ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 247ms | 2.2ms | 4.0MB | 237ms | 0ms | zig 0.14.0 |
csharp | 4.cs | 345ms | 4.7ms | 37.5MB | 320ms | 13ms | dotnet 9.0.202 |
csharp | 2.cs | 597ms | 87ms | 39.7MB | 573ms | 13ms | dotnet 9.0.202 |
csharp | 1.cs | 2046ms | 14ms | 36.4MB | 2023ms | 10ms | dotnet 9.0.202 |
csharp | 3.cs | 2352ms | 15ms | 16.4MB | 2337ms | 0ms | dotnet/aot 9.0.202 |
csharp | 3.cs | 2448ms | 6.9ms | 36.5MB | 2420ms | 13ms | dotnet 9.0.202 |
csharp | 1.cs | 4021ms | 43ms | 16.4MB | 4007ms | 0ms | dotnet/aot 9.0.202 |
csharp | 1.cs | timeout | 0.0ms | 23.1MB | 4990ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 12ms | 0.4ms | 1.1MB | 0ms | 0ms | zig 0.14.0 |
csharp | 4.cs | 89ms | 9.3ms | 34.6MB | 67ms | 10ms | dotnet 9.0.202 |
csharp | 3.cs | 105ms | 2.2ms | 13.6MB | 90ms | 0ms | dotnet/aot 9.0.202 |
csharp | 2.cs | 115ms | 5.5ms | 36.5MB | 90ms | 10ms | dotnet 9.0.202 |
csharp | 1.cs | 136ms | 2.8ms | 33.6MB | 120ms | 7ms | dotnet 9.0.202 |
csharp | 3.cs | 163ms | 1.1ms | 34.0MB | 140ms | 10ms | dotnet 9.0.202 |
csharp | 1.cs | 172ms | 3.0ms | 13.5MB | 160ms | 0ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 574ms | 6.1ms | 23.8MB | 560ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 552ms | 23ms | 120.8MB | 497ms | 93ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 621ms | 12ms | 154.1MB | 560ms | 130ms | dotnet/aot 9.0.202 |
csharp | 2.cs | 668ms | 39ms | 137.8MB | 610ms | 100ms | dotnet 9.0.202 |
csharp | 1.cs | 725ms | 42ms | 168.6MB | 643ms | 143ms | dotnet 9.0.202 |
zig | 1.zig | 855ms | 3.1ms | 41.0MB | 827ms | 13ms | zig 0.14.0 |
csharp | 1.cs | 1248ms | 3.8ms | 142.4MB | 1437ms | 147ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 135ms | 4.1ms | 58.8MB | 110ms | 30ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 152ms | 3.0ms | 72.5MB | 117ms | 50ms | dotnet/aot 9.0.202 |
zig | 1.zig | 173ms | 2.3ms | 11.0MB | 160ms | 0ms | zig 0.14.0 |
csharp | 2.cs | 257ms | 7.3ms | 72.8MB | 220ms | 40ms | dotnet 9.0.202 |
csharp | 1.cs | 258ms | 6.4ms | 67.4MB | 230ms | 33ms | mono 6.12.0 |
csharp | 1.cs | 315ms | 37ms | 91.1MB | 237ms | 63ms | dotnet 9.0.202 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 3.zig | 199ms | 0.7ms | 1.0MB | 190ms | 0ms | zig 0.14.0 |
zig | 2.zig | 279ms | 0.3ms | 1.0MB | 270ms | 0ms | zig 0.14.0 |
zig | 1.zig | 316ms | 1.3ms | 1.1MB | 303ms | 0ms | zig 0.14.0 |
csharp | 9.cs | 358ms | 2.8ms | 27.6MB | 340ms | 10ms | dotnet 9.0.202 |
csharp | 8.cs | 376ms | 6.6ms | 9.8MB | 363ms | 0ms | dotnet/aot 9.0.202 |
csharp | 8.cs | 419ms | 3.2ms | 27.5MB | 400ms | 7ms | dotnet 9.0.202 |
csharp | 8.cs | 1245ms | 4.0ms | 22.1MB | 1227ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 3.zig | 22ms | 0.3ms | 1.0MB | 10ms | 0ms | zig 0.14.0 |
zig | 2.zig | 30ms | 0.2ms | 1.0MB | 20ms | 0ms | zig 0.14.0 |
zig | 1.zig | 34ms | 0.4ms | 1.1MB | 30ms | 0ms | zig 0.14.0 |
csharp | 8.cs | 45ms | 1.0ms | 9.9MB | 30ms | 0ms | dotnet/aot 9.0.202 |
csharp | 9.cs | 93ms | 3.1ms | 27.9MB | 73ms | 7ms | dotnet 9.0.202 |
csharp | 8.cs | 93ms | 2.6ms | 27.5MB | 73ms | 7ms | dotnet 9.0.202 |
csharp | 8.cs | 161ms | 1.5ms | 22.8MB | 150ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 263ms | 1.5ms | 40.1MB | 250ms | 0ms | zig 0.14.0 |
csharp | 1.cs | 292ms | 3.4ms | 78.8MB | 270ms | 10ms | dotnet/aot 9.0.202 |
zig | 2.zig | 322ms | 3.8ms | 6.0MB | 313ms | 0ms | zig 0.14.0 |
csharp | 1.cs | 323ms | 2.9ms | 96.2MB | 300ms | 13ms | dotnet 9.0.202 |
csharp | 2.cs | 392ms | 2.6ms | 35.6MB | 370ms | 10ms | dotnet 9.0.202 |
csharp | 2.cs | 423ms | 4.5ms | 17.6MB | 410ms | 0ms | dotnet/aot 9.0.202 |
csharp | 1.cs | 533ms | 6.3ms | 84.0MB | 513ms | 7ms | mono 6.12.0 |
csharp | 2.cs | 1870ms | 2.9ms | 29.8MB | 1853ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
zig | 1.zig | 52ms | 1.4ms | 10.8MB | 40ms | 0ms | zig 0.14.0 |
csharp | 1.cs | 64ms | 1.5ms | 25.1MB | 50ms | 3ms | dotnet/aot 9.0.202 |
zig | 2.zig | 81ms | 1.3ms | 2.3MB | 70ms | 0ms | zig 0.14.0 |
csharp | 1.cs | 100ms | 4.1ms | 42.5MB | 80ms | 10ms | dotnet 9.0.202 |
csharp | 2.cs | 106ms | 0.6ms | 12.0MB | 97ms | 0ms | dotnet/aot 9.0.202 |
csharp | 2.cs | 127ms | 5.4ms | 30.0MB | 103ms | 10ms | dotnet 9.0.202 |
csharp | 1.cs | 144ms | 2.3ms | 38.3MB | 130ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 484ms | 8.9ms | 21.1MB | 470ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 1841ms | 7.6ms | 10.5MB | 7173ms | 10ms | dotnet/aot 9.0.202 |
csharp | 3-m.cs | 1930ms | 5.0ms | 30.1MB | 7370ms | 13ms | dotnet 9.0.202 |
zig | 1.zig | 3705ms | 29ms | 1.4MB | 3693ms | 0ms | zig 0.14.0 |
csharp | 3-m.cs | 4705ms | 144ms | 25.6MB | 17887ms | 20ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 492ms | 25ms | 10.5MB | 1780ms | 7ms | dotnet/aot 9.0.202 |
csharp | 3-m.cs | 652ms | 40ms | 29.8MB | 1707ms | 13ms | dotnet 9.0.202 |
zig | 1.zig | 922ms | 1.2ms | 1.3MB | 910ms | 0ms | zig 0.14.0 |
csharp | 3-m.cs | 1237ms | 39ms | 27.5MB | 4640ms | 13ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 126ms | 1.2ms | 10.4MB | 443ms | 0ms | dotnet/aot 9.0.202 |
zig | 1.zig | 234ms | 0.8ms | 1.3MB | 223ms | 0ms | zig 0.14.0 |
csharp | 3-m.cs | 251ms | 4.1ms | 28.6MB | 460ms | 13ms | dotnet 9.0.202 |
csharp | 3-m.cs | 348ms | 0.4ms | 25.2MB | 1173ms | 13ms | mono 6.12.0 |