Current benchmark data was generated on Thu May 01 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 | 943ms | 22ms | 185.3MB | 937ms | 150ms | dotnet 9.0.203 |
csharp | 1.cs | 955ms | 17ms | 188.9MB | 957ms | 143ms | dotnet/aot 9.0.203 |
haxe | 1.hx | 1318ms | 6.6ms | 144.0MB | 1503ms | 67ms | haxe/cpp 4.3.6 |
csharp | 1.cs | 1699ms | 20ms | 101.5MB | 1897ms | 217ms | mono 6.12.0 |
haxe | 2.hx | 4426ms | 25ms | 495.3MB | 5017ms | 260ms | haxe/cpp 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 48.6MB | 5480ms | 430ms | haxe/hl/c 4.3.6 |
haxe | 2.hx | timeout | 0.0ms | 83.0MB | 4927ms | 717ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 50.9MB | 7453ms | 437ms | haxe/hl/jit 1.15.0 |
haxe | 2.hx | timeout | 0.0ms | 130.9MB | 7437ms | 773ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 87ms | 2.0ms | 25.6MB | 77ms | 7ms | haxe/cpp 4.3.6 |
csharp | 1.cs | 123ms | 5.1ms | 31.9MB | 87ms | 33ms | dotnet/aot 9.0.203 |
csharp | 1.cs | 140ms | 0.7ms | 44.1MB | 117ms | 13ms | mono 6.12.0 |
csharp | 1.cs | 206ms | 6.4ms | 50.4MB | 157ms | 37ms | dotnet 9.0.203 |
haxe | 2.hx | 384ms | 6.8ms | 58.3MB | 420ms | 27ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 641ms | 2.0ms | 8.8MB | 607ms | 47ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 678ms | 3.2ms | 11.2MB | 757ms | 47ms | haxe/hl/jit 1.15.0 |
haxe | 2.hx | 920ms | 11ms | 13.6MB | 810ms | 157ms | haxe/hl/c 4.3.6 |
haxe | 2.hx | 928ms | 4.6ms | 25.2MB | 907ms | 153ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 5-m.cs | 114ms | 1.5ms | 22.1MB | 350ms | 57ms | dotnet/aot 9.0.203 |
csharp | 5-m.cs | 190ms | 2.0ms | 38.3MB | 467ms | 123ms | dotnet 9.0.203 |
csharp | 5-m.cs | 241ms | 15ms | 51.6MB | 663ms | 123ms | mono 6.12.0 |
haxe | 1.hx | 2392ms | 6.6ms | 25.8MB | 2233ms | 233ms | haxe/cpp 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 3.2MB | 4343ms | 883ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 3.5MB | 4377ms | 877ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 5-m.cs | 24ms | 1.2ms | 15.6MB | 33ms | 13ms | dotnet/aot 9.0.203 |
csharp | 5-m.cs | 65ms | 3.9ms | 37.4MB | 87ms | 17ms | dotnet 9.0.203 |
csharp | 5-m.cs | 71ms | 1.9ms | 30.8MB | 100ms | 27ms | mono 6.12.0 |
haxe | 1.hx | 255ms | 1.6ms | 25.6MB | 223ms | 27ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 658ms | 5.3ms | 3.3MB | 570ms | 107ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 683ms | 4.8ms | 3.6MB | 593ms | 117ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 1.9ms | 0.2ms | 2.9MB | 0ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 2.5ms | 0.2ms | 4.4MB | 0ms | 0ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 3.4ms | 0.2ms | 2.8MB | 0ms | 0ms | haxe/hl/jit 1.15.0 |
csharp | 1.cs | 10ms | 5.6ms | 7.6MB | 0ms | 0ms | dotnet/aot 9.0.203 |
csharp | 1.cs | 31ms | 1.0ms | 21.4MB | 20ms | 0ms | mono 6.12.0 |
csharp | 1.cs | 34ms | 0.4ms | 26.0MB | 20ms | 2ms | dotnet 9.0.203 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 94ms | 1.7ms | 9.8MB | 80ms | 0ms | dotnet/aot 9.0.203 |
haxe | 1.hx | 136ms | 3.5ms | 20.4MB | 123ms | 3ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 138ms | 2.4ms | 3.1MB | 127ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 2.cs | 151ms | 1.0ms | 23.2MB | 133ms | 0ms | mono 6.12.0 |
haxe | 1.hx | 154ms | 1.6ms | 3.8MB | 147ms | 0ms | haxe/hl/jit 1.15.0 |
csharp | 2.cs | 256ms | 3.5ms | 29.5MB | 240ms | 7ms | dotnet 9.0.203 |
csharp | 1.cs | 1044ms | 8.4ms | 13.0MB | 1027ms | 3ms | dotnet/aot 9.0.203 |
csharp | 1.cs | 1298ms | 21ms | 33.0MB | 1283ms | 13ms | dotnet 9.0.203 |
csharp | 1.cs | 3310ms | 13ms | 45.4MB | 3267ms | 33ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 260ms | 1.6ms | 9.8MB | 250ms | 0ms | dotnet/aot 9.0.203 |
csharp | 2.cs | 361ms | 6.0ms | 23.0MB | 343ms | 0ms | mono 6.12.0 |
haxe | 1.hx | 378ms | 5.7ms | 25.5MB | 367ms | 7ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 394ms | 1.8ms | 3.0MB | 383ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 2.cs | 404ms | 3.1ms | 29.4MB | 390ms | 7ms | dotnet 9.0.203 |
haxe | 1.hx | 455ms | 4.9ms | 3.8MB | 443ms | 0ms | haxe/hl/jit 1.15.0 |
csharp | 1.cs | 3097ms | 9.3ms | 13.1MB | 3073ms | 13ms | dotnet/aot 9.0.203 |
csharp | 1.cs | 3653ms | 102ms | 32.4MB | 3643ms | 17ms | dotnet 9.0.203 |
csharp | 1.cs | timeout | 0.0ms | 43.6MB | 4940ms | 50ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 50ms | 1.8ms | 9.6MB | 40ms | 0ms | dotnet/aot 9.0.203 |
haxe | 1.hx | 61ms | 0.2ms | 12.6MB | 47ms | 3ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 68ms | 1.7ms | 3.1MB | 60ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 79ms | 2.6ms | 3.8MB | 70ms | 0ms | haxe/hl/jit 1.15.0 |
csharp | 2.cs | 94ms | 2.7ms | 22.8MB | 80ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 168ms | 1.0ms | 29.3MB | 150ms | 3ms | dotnet 9.0.203 |
csharp | 1.cs | 1616ms | 2.4ms | 32.8MB | 1610ms | 13ms | dotnet 9.0.203 |
csharp | 1.cs | 1820ms | 6.9ms | 28.8MB | 1803ms | 0ms | mono 6.12.0 |
csharp | 1.cs | 1826ms | 2.7ms | 12.9MB | 1813ms | 0ms | dotnet/aot 9.0.203 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 542ms | 21ms | 121.4MB | 490ms | 90ms | dotnet/aot 9.0.203 |
csharp | 1.cs | 603ms | 8.7ms | 143.3MB | 557ms | 117ms | dotnet/aot 9.0.203 |
csharp | 2.cs | 678ms | 16ms | 136.3MB | 627ms | 100ms | dotnet 9.0.203 |
csharp | 1.cs | 761ms | 17ms | 164.3MB | 697ms | 130ms | dotnet 9.0.203 |
haxe | 1.hx | 907ms | 2.4ms | 95.0MB | 997ms | 50ms | haxe/cpp 4.3.6 |
csharp | 1.cs | 1306ms | 19ms | 140.5MB | 1507ms | 173ms | mono 6.12.0 |
haxe | 1.hx | timeout | 0.0ms | 32.6MB | 4920ms | 533ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 57.2MB | 5820ms | 470ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 135ms | 2.4ms | 57.2MB | 110ms | 30ms | dotnet/aot 9.0.203 |
csharp | 1.cs | 157ms | 2.1ms | 74.5MB | 120ms | 53ms | dotnet/aot 9.0.203 |
haxe | 1.hx | 169ms | 2.7ms | 26.6MB | 167ms | 10ms | haxe/cpp 4.3.6 |
csharp | 2.cs | 258ms | 7.0ms | 74.8MB | 223ms | 40ms | dotnet 9.0.203 |
csharp | 1.cs | 258ms | 0.7ms | 69.4MB | 233ms | 30ms | mono 6.12.0 |
csharp | 1.cs | 281ms | 5.4ms | 89.5MB | 237ms | 57ms | dotnet 9.0.203 |
haxe | 1.hx | 1299ms | 6.1ms | 10.7MB | 1237ms | 143ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 1319ms | 7.8ms | 20.4MB | 1340ms | 123ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 9.cs | 358ms | 2.8ms | 28.0MB | 340ms | 7ms | dotnet 9.0.203 |
csharp | 8.cs | 370ms | 3.1ms | 9.9MB | 360ms | 0ms | dotnet/aot 9.0.203 |
csharp | 8.cs | 423ms | 3.6ms | 27.5MB | 400ms | 7ms | dotnet 9.0.203 |
haxe | 2.hx | 856ms | 3.2ms | 3.0MB | 847ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 1078ms | 12ms | 3.1MB | 1070ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 8.cs | 1250ms | 5.1ms | 20.4MB | 1237ms | 0ms | mono 6.12.0 |
haxe | 3.hx | 1411ms | 41ms | 25.6MB | 1543ms | 37ms | haxe/cpp 4.3.6 |
haxe | 2.hx | 2404ms | 5.5ms | 3.6MB | 2397ms | 0ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | 2482ms | 12ms | 3.6MB | 2473ms | 0ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | timeout | 0.0ms | 4.4MB | 4990ms | 0ms | haxe/cpp 4.3.6 |
haxe | 2.hx | timeout | 0.0ms | 4.5MB | 4990ms | 0ms | haxe/cpp 4.3.6 |
haxe | 3.hx | timeout | 0.0ms | 3.2MB | 3880ms | 1650ms | haxe/hl/c 4.3.6 |
haxe | 3.hx | timeout | 0.0ms | 3.9MB | 4143ms | 1347ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 8.cs | 46ms | 1.1ms | 9.9MB | 37ms | 0ms | dotnet/aot 9.0.203 |
haxe | 2.hx | 89ms | 1.5ms | 3.0MB | 80ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 9.cs | 90ms | 1.4ms | 27.6MB | 73ms | 3ms | dotnet 9.0.203 |
csharp | 8.cs | 94ms | 1.2ms | 27.5MB | 80ms | 3ms | dotnet 9.0.203 |
haxe | 1.hx | 110ms | 1.1ms | 3.0MB | 100ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 3.hx | 152ms | 0.6ms | 25.8MB | 147ms | 10ms | haxe/cpp 4.3.6 |
csharp | 8.cs | 164ms | 3.9ms | 22.8MB | 150ms | 0ms | mono 6.12.0 |
haxe | 2.hx | 246ms | 2.2ms | 3.6MB | 240ms | 0ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | 252ms | 2.5ms | 3.8MB | 240ms | 0ms | haxe/hl/jit 1.15.0 |
haxe | 3.hx | 670ms | 0.9ms | 3.1MB | 530ms | 200ms | haxe/hl/c 4.3.6 |
haxe | 2.hx | 677ms | 8.5ms | 4.4MB | 670ms | 0ms | haxe/cpp 4.3.6 |
haxe | 3.hx | 786ms | 4.1ms | 3.9MB | 643ms | 210ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | 809ms | 5.4ms | 4.4MB | 797ms | 0ms | haxe/cpp 4.3.6 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 1857ms | 0.8ms | 10.5MB | 7263ms | 10ms | dotnet/aot 9.0.203 |
csharp | 3-m.cs | 1927ms | 7.1ms | 30.0MB | 7350ms | 17ms | dotnet 9.0.203 |
haxe | 1.hx | 3903ms | 13ms | 3.3MB | 3887ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 3-m.cs | 4664ms | 7.4ms | 25.5MB | 18030ms | 17ms | mono 6.12.0 |
haxe | 1.hx | timeout | 0.0ms | 7.0MB | 4990ms | 0ms | haxe/cpp 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 3.8MB | 4990ms | 0ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 473ms | 1.1ms | 10.4MB | 1810ms | 0ms | dotnet/aot 9.0.203 |
csharp | 3-m.cs | 536ms | 6.8ms | 29.8MB | 1880ms | 10ms | dotnet 9.0.203 |
haxe | 1.hx | 983ms | 1.0ms | 3.1MB | 970ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 3-m.cs | 1213ms | 6.5ms | 25.6MB | 4547ms | 10ms | mono 6.12.0 |
haxe | 1.hx | 2399ms | 1.5ms | 6.5MB | 2390ms | 0ms | haxe/cpp 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 3.8MB | 4990ms | 0ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 127ms | 1.6ms | 10.5MB | 450ms | 0ms | dotnet/aot 9.0.203 |
csharp | 3-m.cs | 181ms | 4.2ms | 28.5MB | 503ms | 10ms | dotnet 9.0.203 |
haxe | 1.hx | 252ms | 2.3ms | 3.0MB | 240ms | 0ms | haxe/hl/c 4.3.6 |
csharp | 3-m.cs | 353ms | 13ms | 25.5MB | 1193ms | 10ms | mono 6.12.0 |
haxe | 1.hx | 603ms | 0.9ms | 5.4MB | 590ms | 0ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 2297ms | 2.9ms | 3.8MB | 2287ms | 0ms | haxe/hl/jit 1.15.0 |