Acton VS Rust benchmarks

Current benchmark data was generated on Tue Dec 31 2024, 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
rust 4.rs 1176ms 7.2ms 33.8MB 1153ms 7ms rustc 1.83.0
rust 5.rs 1261ms 3.1ms 33.8MB 1233ms 10ms rustc 1.83.0
rust 3.rs 1415ms 35ms 49.8MB 1373ms 27ms rustc 1.83.0
acton 1.act timeout 0.0ms 68.8MB 5927ms 67ms actonc 0.24.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4.rs 110ms 0.7ms 5.8MB 97ms 0ms rustc 1.83.0
rust 5.rs 119ms 3.8ms 5.8MB 107ms 0ms rustc 1.83.0
rust 3.rs 130ms 2.4ms 7.8MB 117ms 0ms rustc 1.83.0
acton 1.act 794ms 30ms 13.9MB 923ms 60ms actonc 0.24.1

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 108ms 0.9ms 3.6MB 100ms 0ms rustc 1.83.0
acton 1.act 258ms 21ms 7.0MB 237ms 60ms actonc 0.24.1
rust 2.rs 389ms 4.7ms 3.6MB 380ms 0ms rustc 1.83.0

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 31ms 0.7ms 2.9MB 20ms 0ms rustc 1.83.0
rust 2.rs 71ms 1.3ms 3.0MB 60ms 0ms rustc 1.83.0
acton 1.act 90ms 2.2ms 7.2MB 73ms 33ms actonc 0.24.1

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 1.2ms 0.1ms 1.8MB 0ms 0ms rustc 1.83.0
rust 1.rs 1.2ms 0.1ms 1.8MB 0ms 0ms rustc 1.85.0-nightly
acton 1.act 3.6ms 0.3ms 4.1MB 0ms 0ms actonc 0.24.1

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 657ms 8.6ms 33.8MB 637ms 3ms rustc 1.83.0
acton 1.act 3058ms 12ms 101.9MB 3330ms 47ms actonc 0.24.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 145ms 2.9ms 9.8MB 133ms 0ms rustc 1.83.0
acton 1.act 676ms 47ms 32.3MB 707ms 20ms actonc 0.24.1

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 277ms 3.8ms 40.9MB 267ms 0ms rustc 1.83.0
rust 2.rs 307ms 3.2ms 6.7MB 290ms 0ms rustc 1.83.0
acton 1.act timeout 0.0ms 561.0MB 6733ms 113ms actonc 0.24.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 59ms 0.6ms 11.6MB 47ms 0ms rustc 1.83.0
rust 2.rs 75ms 0.2ms 2.9MB 70ms 0ms rustc 1.83.0
acton 1.act 2260ms 73ms 229.8MB 2830ms 30ms actonc 0.24.1

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 1461ms 11ms 2.7MB 1253ms 183ms rustc 1.83.0
rust 2.rs 1636ms 13ms 2.8MB 1527ms 93ms rustc 1.83.0
acton 1-m.act 2853ms 97ms 8.6MB 2510ms 1970ms actonc 0.24.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 306ms 1.7ms 2.4MB 283ms 3ms rustc 1.83.0
rust 2.rs 367ms 5.1ms 2.5MB 353ms 0ms rustc 1.83.0
acton 1-m.act 811ms 6.4ms 5.8MB 710ms 577ms actonc 0.24.1