aiken/benchmarks/README.md

10 KiB

(No Fib) Benchmarks

This folder contains a set of benchmarks inspired and ported from the plutus-benchmarks, written in Haskell. The idea is to provide benchmarks which can capture more realistic patterns and behaviours than usual "Fibonacci" benchmarks often used for benchmarking applications but falling short in capturing real-world scenarios.

Note that the primary use-case of those benchmarks is to compare Aiken with itself across compiler versions. As optimizations get implemented, it comes as a supplimentary means to assess their impact.

Summary

Results are summarized below, relatively to the previous version. For brevity, we only report versions for which there's a deviation from a previous version.

CPU

Benchmark v1.0.29 vs v1.0.25 vs v1.0.23 vs v1.0.21 vs v1.0.18
clausify_f1 21594809455 -6.26% +11.71% +11.71% +11.84%
clausify_f2 26864755594 -6.07% +11.30% +11.30% +11.44%
clausify_f3 71814854199 -5.98% +11.17% +11.17% +11.31%
clausify_f4 93024749730 -5.01% +9.37% +9.37% +9.55%
clausify_f5 349894049008 -6.00% +11.24% +11.24% +11.35%
knights_100_4x4 71851995726 +1.40% +4.45% +4.30% +4.80%
knights_100_6x6 159767368294 +8.93% +11.92% +11.85% +12.70%
knights_100_8x8 319834775948 +11.40% +14.35% +14.32% +15.13%

Mem

Benchmark v1.0.29 vs v1.0.25 vs v1.0.23 vs v1.0.21 vs v1.0.18
clausify_f1 53769377 -2.29% +20.40% +20.40% +20.63%
clausify_f2 67108683 -2.54% +19.63% +19.63% +19.87%
clausify_f3 179606857 -2.64% +19.38% +19.38% +19.61%
clausify_f4 231444137 -2.75% +16.33% +16.33% +16.64%
clausify_f5 874286879 -2.63% +19.53% +19.53% +19.72%
knights_100_4x4 172256715 -0.48% +5.04% +4.90% +5.80%
knights_100_6x6 321712271 +10.08% +16.54% +16.46% +18.29%
knights_100_8x8 601065675 +14.48% +21.30% +21.26% +23.15%