Codon VS C# benchmarks

Current benchmark data was generated on Mon Jun 23 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.)

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 7.3ms 1.8ms 8.3MB 0ms 0ms dotnet/aot 9.0.301
codon 1-m.py 12ms 0.9ms 8.8MB 20ms 0ms codon 0.18.2
csharp 1.cs 32ms 0.6ms 21.3MB 20ms 0ms mono 6.12.0
csharp 1.cs 35ms 1.3ms 26.1MB 20ms 4ms dotnet 9.0.301

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 9.cs 363ms 6.1ms 27.9MB 340ms 10ms dotnet 9.0.301
csharp 8.cs 371ms 2.5ms 9.9MB 360ms 0ms dotnet/aot 9.0.301
csharp 8.cs 431ms 6.0ms 27.8MB 413ms 10ms dotnet 9.0.301
csharp 8.cs 1252ms 0.3ms 22.4MB 1240ms 0ms mono 6.12.0
codon 1.py 1453ms 224ms 8.8MB 1763ms 0ms codon 0.18.2

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 8.cs 44ms 0.0ms 9.9MB 30ms 0ms dotnet/aot 9.0.301
csharp 8.cs 96ms 0.6ms 27.8MB 77ms 10ms dotnet 9.0.301
csharp 9.cs 111ms 17ms 27.9MB 87ms 7ms dotnet 9.0.301
csharp 8.cs 166ms 2.0ms 20.8MB 150ms 0ms mono 6.12.0
codon 1-m.py 175ms 4.0ms 8.8MB 483ms 0ms codon 0.18.2

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 320ms 4.3ms 78.8MB 300ms 3ms dotnet/aot 9.0.301
csharp 1.cs 365ms 4.2ms 96.4MB 340ms 13ms dotnet 9.0.301
csharp 2.cs 401ms 4.4ms 35.8MB 373ms 10ms dotnet 9.0.301
csharp 2.cs 426ms 3.0ms 17.4MB 413ms 0ms dotnet/aot 9.0.301
codon 1-m.py 502ms 15ms 47.7MB 803ms 3ms codon 0.18.2
csharp 1.cs 556ms 2.5ms 81.9MB 533ms 10ms mono 6.12.0
codon 2.py 1569ms 7.2ms 101.0MB 1877ms 20ms codon 0.18.2
csharp 2.cs 1875ms 14ms 29.4MB 1860ms 0ms mono 6.12.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 64ms 1.3ms 24.7MB 50ms 0ms dotnet/aot 9.0.301
csharp 1.cs 106ms 3.2ms 42.6MB 83ms 10ms dotnet 9.0.301
csharp 2.cs 109ms 1.6ms 11.9MB 93ms 0ms dotnet/aot 9.0.301
codon 1-m.py 128ms 2.1ms 18.7MB 437ms 0ms codon 0.18.2
csharp 2.cs 130ms 1.1ms 30.3MB 110ms 10ms dotnet 9.0.301
csharp 1.cs 146ms 1.6ms 38.5MB 130ms 10ms mono 6.12.0
codon 2-m.py 398ms 6.2ms 27.1MB 710ms 7ms codon 0.18.2
csharp 2.cs 495ms 15ms 23.5MB 483ms 0ms mono 6.12.0