Current benchmark data was generated on Wed Jan 22 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 | 912ms | 14ms | 187.1MB | 903ms | 140ms | dotnet/aot 9.0.102 |
javascript | 1-m.js | 950ms | 61ms | 187.4MB | 1437ms | 247ms | bun 1.1.45 |
csharp | 1.cs | 964ms | 9.3ms | 206.6MB | 947ms | 153ms | dotnet 9.0.102 |
javascript | 1-m.js | 1251ms | 9.3ms | 276.4MB | 2177ms | 160ms | node 23.6.0 |
csharp | 1.cs | 1752ms | 85ms | 103.6MB | 1933ms | 253ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 95ms | 0.8ms | 79.4MB | 77ms | 23ms | bun 1.1.45 |
csharp | 1.cs | 117ms | 2.5ms | 41.9MB | 80ms | 30ms | dotnet/aot 9.0.102 |
javascript | 1.js | 127ms | 2.0ms | 82.4MB | 117ms | 33ms | node 23.6.0 |
csharp | 1.cs | 151ms | 2.8ms | 46.3MB | 127ms | 10ms | mono 6.12.0 |
csharp | 1.cs | 204ms | 17ms | 64.6MB | 153ms | 37ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 1594ms | 14ms | 93.6MB | 1670ms | 63ms | node 23.6.0 |
csharp | 1-m.cs | 2167ms | 61ms | 71.6MB | 7430ms | 90ms | dotnet/aot 9.0.102 |
javascript | 1.js | 2295ms | 49ms | 100.5MB | 2313ms | 70ms | bun 1.1.45 |
csharp | 1-m.cs | 2627ms | 90ms | 82.1MB | 8133ms | 107ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 156ms | 1.2ms | 76.5MB | 137ms | 23ms | node 23.6.0 |
csharp | 1-m.cs | 174ms | 6.3ms | 28.9MB | 467ms | 20ms | dotnet/aot 9.0.102 |
javascript | 1.js | 187ms | 1.2ms | 86.5MB | 203ms | 30ms | bun 1.1.45 |
csharp | 1-m.cs | 285ms | 11ms | 50.6MB | 790ms | 33ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 277ms | 0.8ms | 67.3MB | 293ms | 23ms | node 23.6.0 |
javascript | 1.js | 714ms | 5.9ms | 77.1MB | 693ms | 17ms | bun 1.1.45 |
csharp | 1.cs | 4084ms | 2.2ms | 24.3MB | 4053ms | 17ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 4938ms | 22ms | 43.7MB | 4910ms | 17ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 126ms | 0.7ms | 65.5MB | 140ms | 17ms | node 23.6.0 |
javascript | 1.js | 525ms | 2.3ms | 66.8MB | 493ms | 23ms | bun 1.1.45 |
csharp | 1.cs | 685ms | 5.5ms | 20.5MB | 660ms | 3ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 858ms | 3.8ms | 40.0MB | 827ms | 17ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 13ms | 0.5ms | 32.3MB | 0ms | 10ms | bun 1.1.45 |
csharp | 1.cs | 18ms | 10ms | 12.5MB | 0ms | 0ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 31ms | 0.2ms | 23.3MB | 22ms | 0ms | mono 6.12.0 |
javascript | 1.js | 31ms | 0.6ms | 52.0MB | 14ms | 8ms | node 23.6.0 |
csharp | 1.cs | 35ms | 0.3ms | 30.3MB | 16ms | 4ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1-m.bun.js | 363ms | 16ms | 71.3MB | 133ms | 420ms | bun 1.1.45 |
csharp | 2-http2.cs | 512ms | 4.2ms | 120.8MB | 737ms | 140ms | dotnet 9.0.102 |
csharp | 2-m.cs | 646ms | 11ms | 152.9MB | 707ms | 517ms | dotnet 9.0.102 |
csharp | 2-http3.cs | 695ms | 16ms | 157.2MB | 1120ms | 290ms | dotnet 9.0.102 |
csharp | 1-m.cs | 790ms | 13ms | 171.7MB | 1097ms | 717ms | dotnet 9.0.102 |
javascript | 1.js | 3147ms | 48ms | 195.6MB | 2993ms | 1487ms | node 23.6.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.bun.js | 127ms | 14ms | 54.5MB | 30ms | 93ms | bun 1.1.45 |
javascript | 1.js | 382ms | 1.7ms | 84.8MB | 360ms | 103ms | node 23.6.0 |
csharp | 2.cs | 390ms | 4.2ms | 101.0MB | 387ms | 197ms | dotnet 9.0.102 |
csharp | 2-http2.cs | 433ms | 2.9ms | 97.8MB | 477ms | 100ms | dotnet 9.0.102 |
csharp | 1-m.cs | 441ms | 9.6ms | 110.2MB | 540ms | 250ms | dotnet 9.0.102 |
csharp | 2-http3.cs | 498ms | 11ms | 107.6MB | 613ms | 107ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 85ms | 1.9ms | 68.8MB | 57ms | 20ms | bun 1.1.45 |
javascript | 1.js | 111ms | 0.8ms | 79.0MB | 100ms | 20ms | node 23.6.0 |
csharp | 2.cs | 310ms | 6.9ms | 79.1MB | 273ms | 23ms | dotnet 9.0.102 |
csharp | 1.cs | 709ms | 4.2ms | 153.6MB | 727ms | 93ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 360ms | 0.4ms | 182.1MB | 330ms | 70ms | bun 1.1.45 |
javascript | 1.js | 701ms | 3.1ms | 206.6MB | 800ms | 90ms | node 23.6.0 |
csharp | 2.cs | 1545ms | 50ms | 223.7MB | 1733ms | 100ms | dotnet 9.0.102 |
csharp | 1.cs | 2599ms | 54ms | 757.2MB | 2993ms | 383ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 99ms | 1.7ms | 13.9MB | 83ms | 0ms | dotnet/aot 9.0.102 |
csharp | 2.cs | 146ms | 1.3ms | 22.7MB | 133ms | 3ms | mono 6.12.0 |
csharp | 2.cs | 257ms | 11ms | 33.4MB | 233ms | 13ms | dotnet 9.0.102 |
javascript | 2.js | 307ms | 1.4ms | 66.8MB | 297ms | 13ms | node 23.6.0 |
javascript | 1.js | 559ms | 2.7ms | 64.5MB | 543ms | 13ms | node 23.6.0 |
javascript | 2.js | 640ms | 0.8ms | 127.1MB | 687ms | 63ms | bun 1.1.45 |
javascript | 1.js | 826ms | 4.8ms | 110.7MB | 910ms | 77ms | bun 1.1.45 |
csharp | 1.cs | 1004ms | 6.7ms | 17.2MB | 980ms | 7ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 1439ms | 251ms | 38.9MB | 1417ms | 13ms | dotnet 9.0.102 |
csharp | 1.cs | 3311ms | 41ms | 47.6MB | 3270ms | 30ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 273ms | 2.4ms | 13.7MB | 257ms | 0ms | dotnet/aot 9.0.102 |
csharp | 2.cs | 402ms | 2.3ms | 35.6MB | 387ms | 10ms | dotnet 9.0.102 |
csharp | 2.cs | 412ms | 97ms | 24.8MB | 397ms | 0ms | mono 6.12.0 |
javascript | 2.js | 840ms | 3.3ms | 72.4MB | 823ms | 17ms | node 23.6.0 |
javascript | 1.js | 1586ms | 6.0ms | 71.4MB | 1567ms | 17ms | node 23.6.0 |
javascript | 2.js | 1816ms | 29ms | 122.9MB | 1960ms | 60ms | bun 1.1.45 |
javascript | 1.js | 2536ms | 140ms | 112.1MB | 2847ms | 137ms | bun 1.1.45 |
csharp | 1.cs | 2970ms | 21ms | 17.1MB | 2943ms | 13ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 3581ms | 35ms | 39.1MB | 3560ms | 20ms | dotnet 9.0.102 |
csharp | 1.cs | timeout | 0.0ms | 47.8MB | 4953ms | 37ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 52ms | 1.8ms | 15.9MB | 40ms | 0ms | dotnet/aot 9.0.102 |
csharp | 2.cs | 94ms | 1.2ms | 24.5MB | 80ms | 3ms | mono 6.12.0 |
javascript | 1.js | 164ms | 2.5ms | 61.8MB | 150ms | 7ms | node 23.6.0 |
javascript | 2.js | 164ms | 0.9ms | 60.8MB | 157ms | 10ms | node 23.6.0 |
csharp | 2.cs | 166ms | 1.3ms | 35.5MB | 147ms | 7ms | dotnet 9.0.102 |
javascript | 1.js | 323ms | 3.2ms | 133.9MB | 347ms | 83ms | bun 1.1.45 |
javascript | 2.js | 359ms | 16ms | 126.8MB | 380ms | 60ms | bun 1.1.45 |
csharp | 1.cs | 1609ms | 2.2ms | 36.8MB | 1597ms | 7ms | dotnet 9.0.102 |
csharp | 1.cs | 1817ms | 2.0ms | 16.9MB | 1793ms | 7ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 1821ms | 18ms | 30.8MB | 1803ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1-m.js | 485ms | 10ms | 141.8MB | 623ms | 127ms | bun 1.1.45 |
javascript | 1.js | 526ms | 3.4ms | 134.5MB | 583ms | 83ms | node 23.6.0 |
csharp | 2.cs | 540ms | 17ms | 126.2MB | 480ms | 90ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 585ms | 1.6ms | 153.7MB | 523ms | 133ms | dotnet/aot 9.0.102 |
csharp | 2.cs | 687ms | 11ms | 142.9MB | 637ms | 97ms | dotnet 9.0.102 |
csharp | 1.cs | 740ms | 30ms | 169.4MB | 690ms | 120ms | dotnet 9.0.102 |
csharp | 1.cs | 1320ms | 56ms | 146.4MB | 1527ms | 183ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 119ms | 1.0ms | 87.0MB | 107ms | 27ms | bun 1.1.45 |
csharp | 2.cs | 135ms | 1.9ms | 64.0MB | 103ms | 33ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 153ms | 2.5ms | 80.5MB | 120ms | 43ms | dotnet/aot 9.0.102 |
javascript | 1.js | 157ms | 2.1ms | 102.3MB | 137ms | 47ms | node 23.6.0 |
csharp | 1.cs | 260ms | 7.3ms | 69.5MB | 233ms | 33ms | mono 6.12.0 |
csharp | 2.cs | 263ms | 7.3ms | 82.8MB | 210ms | 47ms | dotnet 9.0.102 |
csharp | 1.cs | 288ms | 18ms | 99.0MB | 240ms | 50ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 9.cs | 360ms | 2.4ms | 34.2MB | 340ms | 10ms | dotnet 9.0.102 |
csharp | 8.cs | 370ms | 0.4ms | 15.7MB | 357ms | 0ms | dotnet/aot 9.0.102 |
csharp | 8.cs | 418ms | 0.9ms | 33.8MB | 393ms | 10ms | dotnet 9.0.102 |
javascript | 6.js | 459ms | 2.4ms | 59.7MB | 447ms | 7ms | node 23.6.0 |
javascript | 6.js | 658ms | 0.3ms | 45.6MB | 653ms | 7ms | bun 1.1.45 |
csharp | 8.cs | 1246ms | 5.3ms | 22.4MB | 1230ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 8.cs | 46ms | 1.7ms | 16.0MB | 30ms | 0ms | dotnet/aot 9.0.102 |
javascript | 6.js | 77ms | 1.0ms | 59.8MB | 60ms | 10ms | node 23.6.0 |
javascript | 6.js | 85ms | 2.1ms | 45.4MB | 83ms | 3ms | bun 1.1.45 |
csharp | 9.cs | 92ms | 1.1ms | 34.0MB | 77ms | 0ms | dotnet 9.0.102 |
csharp | 8.cs | 105ms | 9.8ms | 34.0MB | 73ms | 10ms | dotnet 9.0.102 |
csharp | 8.cs | 162ms | 2.1ms | 26.3MB | 147ms | 3ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 2555ms | 27ms | 63.2MB | 2557ms | 17ms | node 23.6.0 |
javascript | 1.js | 2692ms | 12ms | 84.3MB | 2700ms | 53ms | bun 1.1.45 |
csharp | 1.cs | 2807ms | 10ms | 17.1MB | 2760ms | 40ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 2940ms | 11ms | 39.4MB | 2987ms | 57ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 675ms | 1.8ms | 61.9MB | 673ms | 20ms | node 23.6.0 |
javascript | 1.js | 710ms | 3.9ms | 83.8MB | 703ms | 33ms | bun 1.1.45 |
csharp | 1.cs | 718ms | 12ms | 15.0MB | 697ms | 3ms | dotnet/aot 9.0.102 |
csharp | 1.cs | 999ms | 20ms | 40.3MB | 1080ms | 20ms | dotnet 9.0.102 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 1873ms | 37ms | 18.4MB | 7180ms | 7ms | dotnet/aot 9.0.102 |
csharp | 3-m.cs | 1971ms | 75ms | 38.1MB | 7220ms | 13ms | dotnet 9.0.102 |
javascript | 6-m.js | 2158ms | 5.7ms | 116.7MB | 8230ms | 53ms | node 23.6.0 |
csharp | 3-m.cs | 4634ms | 249ms | 30.7MB | 17543ms | 10ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 476ms | 1.6ms | 18.2MB | 1790ms | 10ms | dotnet/aot 9.0.102 |
csharp | 3-m.cs | 542ms | 12ms | 39.9MB | 1870ms | 10ms | dotnet 9.0.102 |
javascript | 6-m.js | 642ms | 4.1ms | 114.0MB | 2290ms | 50ms | node 23.6.0 |
csharp | 3-m.cs | 1203ms | 18ms | 31.0MB | 4483ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 129ms | 1.0ms | 18.4MB | 440ms | 7ms | dotnet/aot 9.0.102 |
csharp | 3-m.cs | 193ms | 15ms | 36.4MB | 497ms | 10ms | dotnet 9.0.102 |
javascript | 6-m.js | 263ms | 2.0ms | 113.2MB | 823ms | 40ms | node 23.6.0 |
csharp | 3-m.cs | 348ms | 2.4ms | 26.4MB | 1160ms | 7ms | mono 6.12.0 |