Current benchmark data was generated on Tue Dec 31 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 |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 455ms | 16ms | 575.5MB | 540ms | 63ms | kotlin/jvm 21 |
csharp | 1.cs | 886ms | 4.1ms | 166.1MB | 870ms | 127ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 889ms | 12ms | 194.2MB | 897ms | 133ms | dotnet 9.0.101 |
csharp | 1.cs | 1646ms | 54ms | 103.5MB | 1847ms | 210ms | mono 6.12.0 |
kotlin | 1-m.kt | 2928ms | 6.8ms | 248.5MB | 4967ms | 627ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 95ms | 2.4ms | 158.2MB | 103ms | 23ms | kotlin/jvm 21 |
csharp | 1.cs | 117ms | 12ms | 45.7MB | 77ms | 30ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 136ms | 3.4ms | 44.2MB | 107ms | 17ms | mono 6.12.0 |
csharp | 1.cs | 202ms | 3.7ms | 66.8MB | 143ms | 40ms | dotnet 9.0.101 |
kotlin | 1-m.kt | 257ms | 6.2ms | 32.6MB | 400ms | 63ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2-m.kt | 1799ms | 182ms | 235.5MB | 6667ms | 90ms | kotlin/jvm 21 |
csharp | 1-m.cs | 2035ms | 57ms | 64.6MB | 7020ms | 97ms | dotnet/aot 9.0.101 |
kotlin | 1.kt | 2058ms | 23ms | 217.3MB | 2833ms | 57ms | kotlin/jvm 21 |
csharp | 1-m.cs | 2504ms | 195ms | 88.3MB | 7747ms | 103ms | dotnet 9.0.101 |
kotlin | 1.kt | timeout | 0.0ms | 14.8MB | 6030ms | 500ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | timeout | 0.0ms | 52.1MB | 19097ms | 113ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1-m.cs | 154ms | 8.5ms | 31.8MB | 397ms | 23ms | dotnet/aot 9.0.101 |
csharp | 1-m.cs | 255ms | 8.9ms | 49.5MB | 703ms | 13ms | dotnet 9.0.101 |
kotlin | 2-m.kt | 366ms | 8.9ms | 38.2MB | 1350ms | 13ms | kotlin/native 1.8.21 |
kotlin | 1-m.kt | 450ms | 15ms | 73.3MB | 1017ms | 37ms | kotlin/jvm 21 |
kotlin | 1.kt | 646ms | 7.8ms | 10.8MB | 807ms | 53ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | 757ms | 71ms | 99.7MB | 2643ms | 70ms | kotlin/jvm 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 2.3ms | 0.2ms | 4.7MB | 0ms | 0ms | kotlin/native 1.8.21 |
csharp | 1.cs | 18ms | 11ms | 15.5MB | 0ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 30ms | 0.2ms | 23.4MB | 18ms | 2ms | mono 6.12.0 |
csharp | 1.cs | 34ms | 1.5ms | 32.5MB | 18ms | 6ms | dotnet 9.0.101 |
kotlin | 1.kt | 55ms | 4.2ms | 47.4MB | 46ms | 14ms | kotlin/jvm 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2-http2.cs | 496ms | 24ms | 120.7MB | 680ms | 153ms | dotnet 9.0.101 |
csharp | 2-m.cs | 619ms | 9.7ms | 152.3MB | 680ms | 523ms | dotnet 9.0.101 |
csharp | 2-http3.cs | 660ms | 21ms | 157.7MB | 1057ms | 273ms | dotnet 9.0.101 |
csharp | 1-m.cs | 750ms | 12ms | 176.3MB | 1027ms | 667ms | dotnet 9.0.101 |
kotlin | 2-m.kt | 4837ms | 51ms | 400.1MB | 14360ms | 2470ms | kotlin/jvm 21 |
kotlin | 1.kt | timeout | 0.0ms | 405.3MB | 16127ms | 2747ms | kotlin/jvm 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 378ms | 23ms | 100.8MB | 377ms | 173ms | dotnet 9.0.101 |
csharp | 1-m.cs | 423ms | 8.7ms | 109.1MB | 483ms | 233ms | dotnet 9.0.101 |
csharp | 2-http2.cs | 423ms | 15ms | 98.0MB | 457ms | 97ms | dotnet 9.0.101 |
csharp | 2-http3.cs | 474ms | 16ms | 104.5MB | 530ms | 143ms | dotnet 9.0.101 |
kotlin | 1-m.kt | 2173ms | 206ms | 269.1MB | 6403ms | 597ms | kotlin/jvm 21 |
kotlin | 2.kt | 2226ms | 288ms | 241.9MB | 2337ms | 253ms | kotlin/jvm 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 89ms | 3.0ms | 15.9MB | 80ms | 0ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 140ms | 0.7ms | 26.8MB | 127ms | 0ms | mono 6.12.0 |
kotlin | 1-m.kt | 172ms | 3.8ms | 94.9MB | 283ms | 30ms | kotlin/jvm 21 |
kotlin | 2-m.kt | 188ms | 5.4ms | 102.2MB | 397ms | 30ms | kotlin/jvm 21 |
csharp | 2.cs | 243ms | 1.1ms | 33.6MB | 230ms | 10ms | dotnet 9.0.101 |
kotlin | 2.kt | 285ms | 1.3ms | 7.8MB | 413ms | 3ms | kotlin/native 1.8.21 |
kotlin | 1.kt | 501ms | 15ms | 7.8MB | 600ms | 7ms | kotlin/native 1.8.21 |
csharp | 1.cs | 1019ms | 10ms | 16.9MB | 997ms | 7ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 1233ms | 42ms | 38.8MB | 1220ms | 10ms | dotnet 9.0.101 |
csharp | 1.cs | 3162ms | 77ms | 51.6MB | 3123ms | 30ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 255ms | 3.9ms | 13.6MB | 240ms | 0ms | dotnet/aot 9.0.101 |
kotlin | 2-m.kt | 298ms | 25ms | 214.4MB | 503ms | 57ms | kotlin/jvm 21 |
kotlin | 1.kt | 308ms | 0.6ms | 204.7MB | 413ms | 40ms | kotlin/jvm 21 |
csharp | 2.cs | 338ms | 3.1ms | 22.7MB | 327ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 390ms | 13ms | 33.4MB | 363ms | 13ms | dotnet 9.0.101 |
kotlin | 2.kt | 863ms | 8.2ms | 7.6MB | 1240ms | 50ms | kotlin/native 1.8.21 |
kotlin | 1.kt | 1456ms | 8.2ms | 7.9MB | 1763ms | 17ms | kotlin/native 1.8.21 |
csharp | 1.cs | 3020ms | 20ms | 17.1MB | 2993ms | 10ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 3573ms | 79ms | 39.3MB | 3550ms | 27ms | dotnet 9.0.101 |
csharp | 1.cs | timeout | 0.0ms | 49.7MB | 4940ms | 50ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 49ms | 0.9ms | 15.8MB | 30ms | 0ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 88ms | 2.2ms | 24.7MB | 70ms | 0ms | mono 6.12.0 |
kotlin | 1-m.kt | 132ms | 1.5ms | 92.4MB | 250ms | 20ms | kotlin/jvm 21 |
kotlin | 2.kt | 134ms | 3.9ms | 5.7MB | 190ms | 0ms | kotlin/native 1.8.21 |
kotlin | 2-m.kt | 159ms | 9.9ms | 90.8MB | 307ms | 27ms | kotlin/jvm 21 |
csharp | 2.cs | 159ms | 4.8ms | 33.6MB | 133ms | 7ms | dotnet 9.0.101 |
kotlin | 1.kt | 162ms | 4.0ms | 5.8MB | 207ms | 0ms | kotlin/native 1.8.21 |
csharp | 1.cs | 1533ms | 8.5ms | 38.8MB | 1517ms | 13ms | dotnet 9.0.101 |
csharp | 1.cs | 1716ms | 16ms | 28.6MB | 1703ms | 0ms | mono 6.12.0 |
csharp | 1.cs | 1729ms | 2.9ms | 16.9MB | 1707ms | 3ms | dotnet/aot 9.0.101 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 1032ms | 65ms | 46.1MB | 1010ms | 10ms | dotnet 9.0.101 |
csharp | 1.cs | 1949ms | 25ms | 42.7MB | 1913ms | 13ms | dotnet 9.0.101 |
csharp | 3.cs | 2330ms | 12ms | 42.8MB | 2303ms | 3ms | dotnet 9.0.101 |
csharp | 3.cs | 2397ms | 13ms | 22.3MB | 2383ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 3363ms | 16ms | 22.1MB | 3350ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | timeout | 0.0ms | 26.4MB | 4987ms | 3ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3.cs | 112ms | 2.9ms | 19.4MB | 100ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 130ms | 1.9ms | 39.8MB | 110ms | 7ms | dotnet 9.0.101 |
csharp | 2.cs | 141ms | 27ms | 41.3MB | 123ms | 0ms | dotnet 9.0.101 |
csharp | 1.cs | 150ms | 3.4ms | 17.0MB | 133ms | 0ms | dotnet/aot 9.0.101 |
csharp | 3.cs | 156ms | 4.5ms | 39.9MB | 140ms | 3ms | dotnet 9.0.101 |
csharp | 1.cs | 538ms | 3.9ms | 25.3MB | 520ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 329ms | 3.6ms | 677.6MB | 360ms | 70ms | kotlin/jvm 21 |
csharp | 2.cs | 521ms | 13ms | 123.3MB | 463ms | 80ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 549ms | 12ms | 154.4MB | 487ms | 123ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 657ms | 22ms | 142.9MB | 603ms | 97ms | dotnet 9.0.101 |
csharp | 1.cs | 663ms | 5.2ms | 169.5MB | 603ms | 123ms | dotnet 9.0.101 |
csharp | 1.cs | 1246ms | 80ms | 142.6MB | 1450ms | 163ms | mono 6.12.0 |
kotlin | 1-m.kt | 1426ms | 20ms | 136.5MB | 2193ms | 330ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 122ms | 2.0ms | 206.5MB | 157ms | 23ms | kotlin/jvm 21 |
csharp | 2.cs | 129ms | 11ms | 62.5MB | 93ms | 33ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 147ms | 8.4ms | 80.9MB | 113ms | 43ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 247ms | 3.2ms | 71.3MB | 207ms | 43ms | mono 6.12.0 |
csharp | 1.cs | 261ms | 6.2ms | 98.0MB | 220ms | 53ms | dotnet 9.0.101 |
csharp | 2.cs | 268ms | 26ms | 80.7MB | 217ms | 40ms | dotnet 9.0.101 |
kotlin | 1-m.kt | 283ms | 1.7ms | 40.4MB | 410ms | 57ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 9.cs | 342ms | 4.6ms | 34.1MB | 320ms | 7ms | dotnet 9.0.101 |
csharp | 8.cs | 350ms | 0.8ms | 15.8MB | 340ms | 0ms | dotnet/aot 9.0.101 |
kotlin | 1n.kt | 386ms | 8.6ms | 4.7MB | 373ms | 0ms | kotlin/native 1.8.21 |
csharp | 8.cs | 410ms | 17ms | 33.9MB | 390ms | 0ms | dotnet 9.0.101 |
kotlin | 1.kt | 422ms | 3.5ms | 49.7MB | 463ms | 13ms | kotlin/jvm 21 |
csharp | 8.cs | 1189ms | 27ms | 24.1MB | 1163ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1n.kt | 43ms | 0.8ms | 4.6MB | 30ms | 0ms | kotlin/native 1.8.21 |
csharp | 8.cs | 44ms | 0.9ms | 15.7MB | 30ms | 0ms | dotnet/aot 9.0.101 |
csharp | 9.cs | 96ms | 16ms | 34.0MB | 70ms | 7ms | dotnet 9.0.101 |
csharp | 8.cs | 108ms | 14ms | 33.9MB | 77ms | 3ms | dotnet 9.0.101 |
kotlin | 1.kt | 112ms | 0.7ms | 49.4MB | 150ms | 17ms | kotlin/jvm 21 |
csharp | 8.cs | 155ms | 4.8ms | 22.5MB | 143ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 288ms | 4.4ms | 55.1MB | 270ms | 3ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 312ms | 3.5ms | 74.6MB | 283ms | 17ms | dotnet 9.0.101 |
csharp | 2.cs | 376ms | 1.5ms | 39.9MB | 357ms | 7ms | dotnet 9.0.101 |
csharp | 2.cs | 401ms | 4.0ms | 19.8MB | 383ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 509ms | 6.2ms | 84.0MB | 483ms | 10ms | mono 6.12.0 |
csharp | 2.cs | 1771ms | 12ms | 31.3MB | 1753ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 63ms | 1.1ms | 25.9MB | 43ms | 3ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 97ms | 0.8ms | 45.3MB | 70ms | 13ms | dotnet 9.0.101 |
csharp | 2.cs | 103ms | 1.4ms | 17.9MB | 87ms | 3ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 120ms | 3.1ms | 35.9MB | 107ms | 3ms | dotnet 9.0.101 |
csharp | 1.cs | 139ms | 3.8ms | 39.9MB | 117ms | 7ms | mono 6.12.0 |
csharp | 2.cs | 462ms | 9.6ms | 27.1MB | 450ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 3047ms | 34ms | 19.8MB | 2953ms | 97ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 3390ms | 117ms | 44.0MB | 3390ms | 110ms | dotnet 9.0.101 |
kotlin | 1.kt | 3505ms | 35ms | 353.8MB | 4313ms | 93ms | kotlin/jvm 21 |
kotlin | 1n.kt | timeout | 0.0ms | 7.5MB | 6350ms | 310ms | kotlin/native 1.8.21 |
kotlin | 2n.kt | timeout | 0.0ms | 13.3MB | 4990ms | 177ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 716ms | 8.6ms | 19.6MB | 667ms | 33ms | dotnet/aot 9.0.101 |
kotlin | 1-m.kt | 939ms | 37ms | 355.0MB | 1617ms | 70ms | kotlin/jvm 21 |
csharp | 1.cs | 940ms | 21ms | 43.5MB | 1023ms | 43ms | dotnet 9.0.101 |
kotlin | 1n.kt | timeout | 0.0ms | 7.4MB | 6420ms | 257ms | kotlin/native 1.8.21 |
kotlin | 2n.kt | timeout | 0.0ms | 8.2MB | 5000ms | 150ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 6.cs | 1674ms | 29ms | 429.0MB | 1580ms | 140ms | dotnet/aot 9.0.101 |
csharp | 5.cs | 1999ms | 113ms | 454.9MB | 2007ms | 180ms | dotnet 9.0.101 |
csharp | 6.cs | 2674ms | 130ms | 449.7MB | 2617ms | 163ms | dotnet 9.0.101 |
csharp | 5.cs | 4066ms | 34ms | 430.2MB | 3957ms | 153ms | dotnet/aot 9.0.101 |
kotlin | 1.kt | timeout | 0.0ms | 171.4MB | 5370ms | 43ms | kotlin/jvm 21 |
kotlin | 1n.kt | timeout | 0.0ms | 278.9MB | 5463ms | 463ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 6.cs | 179ms | 2.1ms | 55.1MB | 157ms | 13ms | dotnet/aot 9.0.101 |
csharp | 5.cs | 278ms | 16ms | 80.5MB | 237ms | 30ms | dotnet 9.0.101 |
csharp | 6.cs | 370ms | 4.1ms | 79.2MB | 343ms | 20ms | dotnet 9.0.101 |
csharp | 5.cs | 415ms | 1.9ms | 56.8MB | 393ms | 10ms | dotnet/aot 9.0.101 |
kotlin | 1-m.kt | 759ms | 8.2ms | 133.8MB | 1143ms | 27ms | kotlin/jvm 21 |
kotlin | 1n.kt | 2968ms | 26ms | 65.1MB | 3653ms | 3ms | kotlin/native 1.8.21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 1779ms | 35ms | 18.5MB | 6860ms | 3ms | dotnet/aot 9.0.101 |
csharp | 3-m.cs | 2081ms | 305ms | 38.1MB | 6603ms | 27ms | dotnet 9.0.101 |
csharp | 3-m.cs | 4402ms | 103ms | 30.5MB | 17000ms | 13ms | mono 6.12.0 |