Acton VS C# benchmarks

Current benchmark data was generated on Tue Mar 25 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 987ms 29ms 207.3MB 987ms 150ms dotnet 9.0.202
csharp 1.cs 1059ms 17ms 186.1MB 1060ms 143ms dotnet/aot 9.0.202
csharp 1.cs 1745ms 50ms 99.7MB 1947ms 213ms mono 6.12.0
acton 1.act timeout 0.0ms 67.1MB 5977ms 80ms actonc 0.24.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 132ms 9.0ms 34.1MB 97ms 30ms dotnet/aot 9.0.202
csharp 1.cs 151ms 3.1ms 44.1MB 127ms 10ms mono 6.12.0
csharp 1.cs 202ms 3.4ms 50.0MB 160ms 37ms dotnet 9.0.202
acton 1.act 835ms 22ms 12.0MB 973ms 73ms actonc 0.24.1

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 265ms 20ms 7.1MB 230ms 70ms actonc 0.24.1
csharp 1.cs 4104ms 3.1ms 18.4MB 4080ms 10ms dotnet/aot 9.0.202
csharp 1.cs 4967ms 13ms 37.5MB 4937ms 20ms dotnet 9.0.202

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 101ms 17ms 5.3MB 83ms 27ms actonc 0.24.1
csharp 1.cs 682ms 1.1ms 14.5MB 663ms 3ms dotnet/aot 9.0.202
csharp 1.cs 869ms 16ms 34.0MB 843ms 10ms dotnet 9.0.202

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 3.6ms 0.3ms 3.9MB 0ms 0ms actonc 0.24.1
csharp 1.cs 8.7ms 2.7ms 9.4MB 0ms 0ms dotnet/aot 9.0.202
csharp 1.cs 32ms 0.6ms 21.6MB 20ms 0ms mono 6.12.0
csharp 1.cs 36ms 1.2ms 26.1MB 20ms 6ms dotnet 9.0.202

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 584ms 14ms 120.7MB 530ms 90ms dotnet/aot 9.0.202
csharp 1.cs 643ms 4.4ms 149.1MB 590ms 130ms dotnet/aot 9.0.202
csharp 2.cs 676ms 4.0ms 135.9MB 640ms 93ms dotnet 9.0.202
csharp 1.cs 786ms 10ms 170.1MB 717ms 137ms dotnet 9.0.202
csharp 1.cs 1310ms 9.0ms 139.7MB 1530ms 160ms mono 6.12.0
acton 1.act 3317ms 13ms 102.0MB 3620ms 57ms actonc 0.24.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 146ms 5.1ms 56.7MB 110ms 40ms dotnet/aot 9.0.202
csharp 1.cs 162ms 5.8ms 74.4MB 130ms 47ms dotnet/aot 9.0.202
csharp 1.cs 266ms 4.9ms 69.5MB 233ms 37ms mono 6.12.0
csharp 2.cs 266ms 1.7ms 74.3MB 227ms 37ms dotnet 9.0.202
csharp 1.cs 276ms 1.3ms 89.6MB 247ms 53ms dotnet 9.0.202
acton 1.act 715ms 22ms 30.5MB 753ms 33ms actonc 0.24.1

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 350ms 3.6ms 78.7MB 327ms 10ms dotnet/aot 9.0.202
csharp 1.cs 399ms 20ms 96.2MB 373ms 17ms dotnet 9.0.202
csharp 2.cs 401ms 3.8ms 35.7MB 380ms 10ms dotnet 9.0.202
csharp 2.cs 425ms 3.0ms 17.4MB 413ms 0ms dotnet/aot 9.0.202
csharp 1.cs 564ms 2.7ms 83.9MB 543ms 10ms mono 6.12.0
csharp 2.cs 1867ms 2.9ms 29.4MB 1850ms 0ms mono 6.12.0
acton 1.act timeout 0.0ms 561.0MB 6737ms 120ms actonc 0.24.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 69ms 1.7ms 24.8MB 50ms 0ms dotnet/aot 9.0.202
csharp 1.cs 107ms 5.9ms 42.4MB 87ms 10ms dotnet 9.0.202
csharp 2.cs 112ms 3.0ms 11.8MB 97ms 0ms dotnet/aot 9.0.202
csharp 2.cs 131ms 2.0ms 29.9MB 110ms 13ms dotnet 9.0.202
csharp 1.cs 143ms 0.4ms 38.5MB 130ms 0ms mono 6.12.0
csharp 2.cs 486ms 4.3ms 23.1MB 470ms 0ms mono 6.12.0
acton 1.act 2404ms 16ms 192.3MB 2937ms 40ms actonc 0.24.1

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 3057ms 164ms 6.7MB 2860ms 2093ms actonc 0.24.1
csharp 1.cs 3274ms 18ms 13.9MB 3170ms 103ms dotnet/aot 9.0.202
csharp 1.cs 3581ms 55ms 38.1MB 3593ms 127ms dotnet 9.0.202

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 760ms 1.6ms 13.5MB 723ms 23ms dotnet/aot 9.0.202
acton 1-m.act 870ms 31ms 5.7MB 770ms 633ms actonc 0.24.1
csharp 1.cs 993ms 12ms 37.8MB 1093ms 37ms dotnet 9.0.202