Codon VS C# benchmarks

Current benchmark data was generated on Mon Mar 31 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.6ms 2.7ms 9.6MB 0ms 0ms dotnet/aot 9.0.202
codon 1-m.py 11ms 0.6ms 9.0MB 20ms 0ms codon 0.18.2
csharp 1.cs 32ms 0.6ms 21.3MB 20ms 0ms mono 6.12.0
csharp 1.cs 45ms 3.1ms 26.3MB 22ms 8ms dotnet 9.0.202

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 9.cs 358ms 2.8ms 27.6MB 340ms 10ms dotnet 9.0.202
csharp 8.cs 376ms 6.6ms 9.8MB 363ms 0ms dotnet/aot 9.0.202
csharp 8.cs 419ms 3.2ms 27.5MB 400ms 7ms dotnet 9.0.202
csharp 8.cs 1245ms 4.0ms 22.1MB 1227ms 0ms mono 6.12.0
codon 1.py 1453ms 222ms 9.0MB 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 45ms 1.0ms 9.9MB 30ms 0ms dotnet/aot 9.0.202
csharp 9.cs 93ms 3.1ms 27.9MB 73ms 7ms dotnet 9.0.202
csharp 8.cs 93ms 2.6ms 27.5MB 73ms 7ms dotnet 9.0.202
csharp 8.cs 161ms 1.5ms 22.8MB 150ms 0ms mono 6.12.0
codon 1-m.py 174ms 3.5ms 8.9MB 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 292ms 3.4ms 78.8MB 270ms 10ms dotnet/aot 9.0.202
csharp 1.cs 323ms 2.9ms 96.2MB 300ms 13ms dotnet 9.0.202
csharp 2.cs 392ms 2.6ms 35.6MB 370ms 10ms dotnet 9.0.202
codon 1-m.py 419ms 4.2ms 47.6MB 723ms 0ms codon 0.18.2
csharp 2.cs 423ms 4.5ms 17.6MB 410ms 0ms dotnet/aot 9.0.202
csharp 1.cs 533ms 6.3ms 84.0MB 513ms 7ms mono 6.12.0
codon 2.py 1525ms 10ms 100.8MB 1833ms 17ms codon 0.18.2
csharp 2.cs 1870ms 2.9ms 29.8MB 1853ms 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.5ms 25.1MB 50ms 3ms dotnet/aot 9.0.202
csharp 1.cs 100ms 4.1ms 42.5MB 80ms 10ms dotnet 9.0.202
csharp 2.cs 106ms 0.6ms 12.0MB 97ms 0ms dotnet/aot 9.0.202
csharp 2.cs 127ms 5.4ms 30.0MB 103ms 10ms dotnet 9.0.202
codon 1-m.py 127ms 2.6ms 18.5MB 433ms 0ms codon 0.18.2
csharp 1.cs 144ms 2.3ms 38.3MB 130ms 0ms mono 6.12.0
codon 2-m.py 394ms 3.1ms 27.1MB 703ms 3ms codon 0.18.2
csharp 2.cs 484ms 8.9ms 21.1MB 470ms 0ms mono 6.12.0