Haxe VS C# benchmarks

Current benchmark data was generated on Fri Aug 01 2025, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 940ms 5.4ms 167.7MB 933ms 127ms dotnet/aot 9.0.303
csharp 1.cs 952ms 25ms 200.7MB 960ms 150ms dotnet 9.0.303
haxe 1.hx 1290ms 13ms 144.0MB 1470ms 67ms haxe/cpp 4.3.6
csharp 1.cs 1675ms 21ms 101.3MB 1873ms 200ms mono 6.12.0
haxe 2.hx 4336ms 13ms 495.3MB 4867ms 253ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 48.6MB 5457ms 423ms haxe/hl/c 4.3.6
haxe 2.hx timeout 0.0ms 83.0MB 5003ms 683ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 51.1MB 7750ms 430ms haxe/hl/jit 1.16.0
haxe 2.hx timeout 0.0ms 131.0MB 7297ms 770ms haxe/hl/jit 1.16.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 88ms 0.4ms 25.6MB 77ms 10ms haxe/cpp 4.3.6
csharp 1.cs 115ms 10ms 38.9MB 80ms 27ms dotnet/aot 9.0.303
csharp 1.cs 143ms 2.1ms 42.1MB 120ms 13ms mono 6.12.0
csharp 1.cs 198ms 7.5ms 50.1MB 157ms 30ms dotnet 9.0.303
haxe 2.hx 380ms 5.8ms 58.3MB 410ms 20ms haxe/cpp 4.3.6
haxe 1.hx 640ms 2.4ms 8.7MB 613ms 43ms haxe/hl/c 4.3.6
haxe 1.hx 671ms 4.4ms 11.4MB 727ms 57ms haxe/hl/jit 1.16.0
haxe 2.hx 930ms 3.9ms 13.6MB 817ms 157ms haxe/hl/c 4.3.6
haxe 2.hx 940ms 11ms 25.0MB 910ms 170ms haxe/hl/jit 1.16.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 5-m.cs 125ms 3.7ms 24.1MB 363ms 77ms dotnet/aot 9.0.303
csharp 5-m.cs 196ms 8.4ms 37.5MB 470ms 123ms dotnet 9.0.303
csharp 5-m.cs 223ms 3.2ms 38.7MB 650ms 70ms mono 6.12.0
haxe 1.hx 2378ms 10ms 25.6MB 2270ms 190ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 3.1MB 4333ms 880ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 3.6MB 4383ms 850ms haxe/hl/jit 1.16.0

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 5-m.cs 24ms 2.5ms 15.9MB 37ms 13ms dotnet/aot 9.0.303
csharp 5-m.cs 61ms 2.6ms 37.1MB 87ms 17ms dotnet 9.0.303
csharp 5-m.cs 71ms 2.2ms 30.7MB 107ms 17ms mono 6.12.0
haxe 1.hx 251ms 2.7ms 25.6MB 220ms 30ms haxe/cpp 4.3.6
haxe 1.hx 667ms 6.6ms 3.5MB 577ms 103ms haxe/hl/c 4.3.6
haxe 1.hx 698ms 6.6ms 3.6MB 617ms 107ms haxe/hl/jit 1.16.0

helloworld

Input: QwQ

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.3ms 0.3ms 4.4MB 0ms 0ms haxe/cpp 4.3.6
haxe 1.hx 3.4ms 0.4ms 2.9MB 0ms 0ms haxe/hl/jit 1.16.0
csharp 1.cs 6.8ms 2.0ms 9.5MB 0ms 0ms dotnet/aot 9.0.303
csharp 1.cs 30ms 1.2ms 21.3MB 20ms 0ms mono 6.12.0
csharp 1.cs 35ms 0.9ms 26.1MB 20ms 4ms dotnet 9.0.303

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 96ms 0.5ms 9.8MB 87ms 0ms dotnet/aot 9.0.303
haxe 1.hx 134ms 1.8ms 20.4MB 120ms 7ms haxe/cpp 4.3.6
haxe 1.hx 135ms 0.3ms 3.3MB 127ms 0ms haxe/hl/c 4.3.6
csharp 2.cs 147ms 3.0ms 24.9MB 133ms 0ms mono 6.12.0
haxe 1.hx 157ms 3.8ms 3.8MB 147ms 0ms haxe/hl/jit 1.16.0
csharp 2.cs 253ms 7.4ms 29.4MB 237ms 7ms dotnet 9.0.303
csharp 1.cs 1034ms 8.1ms 13.1MB 1013ms 3ms dotnet/aot 9.0.303
csharp 1.cs 1344ms 54ms 32.6MB 1333ms 13ms dotnet 9.0.303
csharp 1.cs 3299ms 27ms 43.6MB 3257ms 33ms mono 6.12.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 277ms 1.0ms 9.8MB 263ms 0ms dotnet/aot 9.0.303
csharp 2.cs 357ms 2.3ms 21.1MB 343ms 0ms mono 6.12.0
haxe 1.hx 378ms 5.6ms 25.5MB 363ms 10ms haxe/cpp 4.3.6
haxe 1.hx 398ms 6.1ms 3.1MB 387ms 0ms haxe/hl/c 4.3.6
csharp 2.cs 399ms 2.0ms 29.4MB 387ms 10ms dotnet 9.0.303
haxe 1.hx 459ms 7.2ms 3.8MB 450ms 0ms haxe/hl/jit 1.16.0
csharp 1.cs 3099ms 25ms 13.1MB 3083ms 3ms dotnet/aot 9.0.303
csharp 1.cs 3610ms 46ms 33.3MB 3593ms 17ms dotnet 9.0.303
csharp 1.cs timeout 0.0ms 45.6MB 4933ms 57ms mono 6.12.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 54ms 1.0ms 9.8MB 40ms 0ms dotnet/aot 9.0.303
haxe 1.hx 63ms 0.7ms 12.3MB 50ms 0ms haxe/cpp 4.3.6
haxe 1.hx 67ms 0.6ms 3.0MB 60ms 0ms haxe/hl/c 4.3.6
haxe 1.hx 77ms 0.7ms 3.6MB 70ms 0ms haxe/hl/jit 1.16.0
csharp 2.cs 92ms 2.5ms 22.7MB 77ms 0ms mono 6.12.0
csharp 2.cs 162ms 2.1ms 29.4MB 140ms 7ms dotnet 9.0.303
csharp 1.cs 1627ms 7.1ms 32.5MB 1617ms 10ms dotnet 9.0.303
csharp 1.cs 1814ms 9.2ms 29.2MB 1800ms 0ms mono 6.12.0
csharp 1.cs 1831ms 7.6ms 12.8MB 1813ms 0ms dotnet/aot 9.0.303

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 517ms 7.3ms 121.6MB 480ms 83ms dotnet/aot 9.0.303
csharp 1.cs 571ms 37ms 146.6MB 527ms 110ms dotnet/aot 9.0.303
csharp 2.cs 683ms 21ms 136.3MB 630ms 97ms dotnet 9.0.303
csharp 1.cs 685ms 0.3ms 167.1MB 637ms 120ms dotnet 9.0.303
haxe 1.hx 908ms 5.7ms 94.9MB 1010ms 40ms haxe/cpp 4.3.6
csharp 1.cs 1259ms 19ms 140.4MB 1457ms 147ms mono 6.12.0
haxe 1.hx timeout 0.0ms 32.5MB 4877ms 553ms haxe/hl/c 4.3.6
haxe 1.hx timeout 0.0ms 55.1MB 5960ms 490ms haxe/hl/jit 1.16.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 134ms 9.0ms 59.6MB 103ms 37ms dotnet/aot 9.0.303
csharp 1.cs 150ms 4.8ms 73.3MB 120ms 43ms dotnet/aot 9.0.303
haxe 1.hx 170ms 4.0ms 26.6MB 173ms 10ms haxe/cpp 4.3.6
csharp 2.cs 259ms 1.2ms 73.3MB 223ms 37ms dotnet 9.0.303
csharp 1.cs 259ms 7.4ms 69.4MB 230ms 37ms mono 6.12.0
csharp 1.cs 272ms 2.0ms 89.9MB 233ms 60ms dotnet 9.0.303
haxe 1.hx 1306ms 1.8ms 10.8MB 1253ms 140ms haxe/hl/c 4.3.6
haxe 1.hx 1322ms 7.0ms 20.2MB 1330ms 127ms haxe/hl/jit 1.16.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 9.cs 360ms 0.9ms 27.9MB 340ms 7ms dotnet 9.0.303
csharp 8.cs 370ms 0.9ms 9.9MB 357ms 0ms dotnet/aot 9.0.303
csharp 8.cs 420ms 3.5ms 27.6MB 400ms 7ms dotnet 9.0.303
haxe 2.hx 856ms 3.6ms 3.0MB 847ms 0ms haxe/hl/c 4.3.6
haxe 1.hx 1084ms 8.6ms 3.0MB 1073ms 0ms haxe/hl/c 4.3.6
csharp 8.cs 1246ms 2.5ms 22.8MB 1230ms 0ms mono 6.12.0
haxe 3.hx 1407ms 30ms 25.6MB 1560ms 30ms haxe/cpp 4.3.6
haxe 2.hx 2414ms 4.4ms 3.6MB 2403ms 0ms haxe/hl/jit 1.16.0
haxe 1.hx 2476ms 3.3ms 3.6MB 2467ms 0ms haxe/hl/jit 1.16.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 3920ms 1573ms haxe/hl/c 4.3.6
haxe 3.hx timeout 0.0ms 3.9MB 4133ms 1323ms haxe/hl/jit 1.16.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 8.cs 46ms 1.3ms 9.9MB 33ms 0ms dotnet/aot 9.0.303
haxe 2.hx 88ms 0.2ms 3.0MB 80ms 0ms haxe/hl/c 4.3.6
csharp 9.cs 93ms 5.0ms 27.8MB 73ms 7ms dotnet 9.0.303
csharp 8.cs 94ms 2.2ms 27.6MB 77ms 3ms dotnet 9.0.303
haxe 1.hx 111ms 2.9ms 3.1MB 103ms 0ms haxe/hl/c 4.3.6
haxe 3.hx 153ms 2.6ms 25.6MB 147ms 10ms haxe/cpp 4.3.6
csharp 8.cs 162ms 3.6ms 22.9MB 150ms 0ms mono 6.12.0
haxe 2.hx 244ms 1.1ms 3.6MB 237ms 0ms haxe/hl/jit 1.16.0
haxe 1.hx 253ms 2.2ms 3.6MB 243ms 0ms haxe/hl/jit 1.16.0
haxe 2.hx 674ms 7.0ms 4.4MB 663ms 0ms haxe/cpp 4.3.6
haxe 3.hx 676ms 2.5ms 3.3MB 530ms 203ms haxe/hl/c 4.3.6
haxe 3.hx 795ms 13ms 3.8MB 643ms 210ms haxe/hl/jit 1.16.0
haxe 1.hx 812ms 5.7ms 4.4MB 803ms 0ms haxe/cpp 4.3.6

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 1885ms 25ms 10.5MB 7280ms 0ms dotnet/aot 9.0.303
csharp 3-m.cs 1919ms 3.3ms 30.1MB 7350ms 23ms dotnet 9.0.303
haxe 1.hx 3897ms 3.5ms 3.4MB 3883ms 0ms haxe/hl/c 4.3.6
csharp 3-m.cs 4704ms 149ms 25.7MB 17910ms 13ms 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.9MB 4990ms 0ms haxe/hl/jit 1.16.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 479ms 1.1ms 10.4MB 1817ms 0ms dotnet/aot 9.0.303
csharp 3-m.cs 534ms 3.5ms 30.0MB 1880ms 17ms dotnet 9.0.303
haxe 1.hx 987ms 3.6ms 3.2MB 977ms 0ms haxe/hl/c 4.3.6
csharp 3-m.cs 1244ms 39ms 25.7MB 4693ms 10ms mono 6.12.0
haxe 1.hx 2398ms 1.7ms 6.5MB 2387ms 0ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 3.8MB 4990ms 0ms haxe/hl/jit 1.16.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 128ms 0.6ms 10.6MB 453ms 0ms dotnet/aot 9.0.303
csharp 3-m.cs 180ms 5.3ms 28.5MB 503ms 7ms dotnet 9.0.303
haxe 1.hx 250ms 1.8ms 3.0MB 240ms 0ms haxe/hl/c 4.3.6
csharp 3-m.cs 347ms 1.9ms 25.4MB 1170ms 7ms mono 6.12.0
haxe 1.hx 602ms 0.3ms 5.4MB 590ms 0ms haxe/cpp 4.3.6
haxe 1.hx 2306ms 17ms 3.8MB 2297ms 0ms haxe/hl/jit 1.16.0