aiken/benchmarks
KtorZ 4ee7a48aab refresh benchmarks.
Signed-off-by: KtorZ <matthias.benkort@gmail.com>
2025-03-05 09:26:06 -05:00
..
lib/benchmarks Start working on using a decision tree for when expr. Also fmt fix. Other Stuff 2024-11-01 19:34:45 -04:00
.gitignore Move benchmarks one level up. 2024-07-17 13:00:57 +02:00
README.md refresh benchmarks. 2025-03-05 09:26:06 -05:00
aiken.lock refresh benchmarks. 2025-03-05 09:26:06 -05:00
aiken.toml Remove clause guards. 2024-08-02 00:16:27 -04:00
plutus.json clippy fix 2024-07-24 11:29:55 -04:00

README.md

(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.

[!NOTE]

Comparing version: v1.1.13

CPU

Benchmark vs v1.1.0 vs v1.0.29
clausify_f1 -23.91% -42.92%
clausify_f2 -22.80% -42.04%
clausify_f3 -22.35% -41.69%
clausify_f4 -18.94% -38.99%
clausify_f5 -22.57% -41.93%
knights_100_4x4 -3.64% -7.00%
knights_100_6x6 -3.96% -17.41%
knights_100_8x8 -3.96% -15.50%

Mem

Benchmark vs v1.1.0 vs v1.0.29
clausify_f1 -25.81% -25.81%
clausify_f2 -24.71% -24.71%
clausify_f3 -24.25% -24.25%
clausify_f4 -21.78% -21.78%
clausify_f5 -24.43% -24.43%
knights_100_4x4 -6.99% -7.00%
knights_100_6x6 -9.16% -9.17%
knights_100_8x8 -10.12% -10.12%