Acton VS C# benchmarks

Current benchmark data was generated on Sun Jun 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 901ms 14ms 197.1MB 893ms 147ms dotnet 9.0.300
csharp 1.cs 1061ms 140ms 164.4MB 963ms 127ms dotnet/aot 9.0.300
csharp 1.cs 1725ms 105ms 103.6MB 1900ms 227ms mono 6.12.0
acton 1.act timeout 0.0ms 67.0MB 5877ms 77ms actonc 0.25.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 141ms 1.3ms 46.1MB 120ms 10ms mono 6.12.0
csharp 1.cs 175ms 44ms 31.8MB 100ms 33ms dotnet/aot 9.0.300
csharp 1.cs 191ms 4.8ms 49.7MB 147ms 37ms dotnet 9.0.300
acton 1.act 814ms 23ms 12.0MB 937ms 67ms actonc 0.25.0

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 220ms 2.2ms 8.0MB 197ms 33ms actonc 0.25.0
csharp 1.cs 4081ms 3.3ms 18.6MB 4057ms 10ms dotnet/aot 9.0.300
csharp 1.cs 4963ms 16ms 37.8MB 4927ms 17ms dotnet 9.0.300

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 77ms 8.3ms 6.0MB 57ms 20ms actonc 0.25.0
csharp 1.cs 682ms 5.7ms 14.6MB 663ms 0ms dotnet/aot 9.0.300
csharp 1.cs 867ms 15ms 33.6MB 847ms 10ms dotnet 9.0.300

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 3.4ms 0.3ms 3.9MB 0ms 0ms actonc 0.25.0
csharp 1.cs 7.8ms 2.1ms 9.5MB 0ms 0ms dotnet/aot 9.0.300
csharp 1.cs 30ms 0.5ms 21.7MB 18ms 2ms mono 6.12.0
csharp 1.cs 34ms 1.1ms 26.1MB 20ms 2ms dotnet 9.0.300

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 525ms 14ms 120.6MB 483ms 83ms dotnet/aot 9.0.300
csharp 1.cs 577ms 8.1ms 144.9MB 530ms 113ms dotnet/aot 9.0.300
csharp 2.cs 666ms 14ms 136.1MB 620ms 100ms dotnet 9.0.300
csharp 1.cs 749ms 4.3ms 166.8MB 690ms 137ms dotnet 9.0.300
csharp 1.cs 1280ms 4.1ms 144.6MB 1447ms 180ms mono 6.12.0
acton 1.act 3258ms 55ms 84.4MB 3627ms 60ms actonc 0.25.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 127ms 4.7ms 57.1MB 100ms 30ms dotnet/aot 9.0.300
csharp 1.cs 154ms 5.1ms 74.8MB 123ms 50ms dotnet/aot 9.0.300
csharp 2.cs 262ms 8.0ms 75.8MB 220ms 43ms dotnet 9.0.300
csharp 1.cs 264ms 2.4ms 69.4MB 240ms 33ms mono 6.12.0
csharp 1.cs 276ms 3.6ms 93.0MB 247ms 53ms dotnet 9.0.300
acton 1.act 697ms 11ms 23.8MB 757ms 33ms actonc 0.25.0

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 297ms 3.2ms 78.8MB 273ms 7ms dotnet/aot 9.0.300
csharp 1.cs 345ms 12ms 96.5MB 317ms 17ms dotnet 9.0.300
csharp 2.cs 392ms 2.8ms 17.7MB 380ms 0ms dotnet/aot 9.0.300
csharp 2.cs 399ms 7.5ms 35.3MB 377ms 13ms dotnet 9.0.300
csharp 1.cs 538ms 2.7ms 84.2MB 517ms 10ms mono 6.12.0
csharp 2.cs 1888ms 39ms 27.4MB 1873ms 0ms mono 6.12.0
acton 1.act timeout 0.0ms 560.9MB 6633ms 100ms actonc 0.25.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 64ms 1.2ms 24.9MB 50ms 0ms dotnet/aot 9.0.300
csharp 2.cs 101ms 1.4ms 11.9MB 90ms 0ms dotnet/aot 9.0.300
csharp 1.cs 108ms 2.1ms 42.5MB 83ms 7ms dotnet 9.0.300
csharp 2.cs 134ms 3.2ms 29.9MB 110ms 7ms dotnet 9.0.300
csharp 1.cs 144ms 1.5ms 38.1MB 127ms 3ms mono 6.12.0
csharp 2.cs 488ms 5.9ms 21.1MB 473ms 0ms mono 6.12.0
acton 1.act 2432ms 41ms 229.8MB 2987ms 43ms actonc 0.25.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 3220ms 6.8ms 14.1MB 3130ms 87ms dotnet/aot 9.0.300
acton 1-m.act 3374ms 156ms 6.8MB 3427ms 2370ms actonc 0.25.0
csharp 1.cs 3568ms 50ms 38.1MB 3597ms 107ms dotnet 9.0.300

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 759ms 6.1ms 13.5MB 727ms 20ms dotnet/aot 9.0.300
acton 1-m.act 965ms 82ms 6.1MB 883ms 747ms actonc 0.25.0
csharp 1.cs 985ms 4.4ms 37.8MB 1073ms 37ms dotnet 9.0.300