Implement linear optimisation for HADES

Around 15% faster:

Naive Poseidon128
Estimated testing time 2s (1 benchmarks x 2s). Change using '-quota'.
┌──────────────────────────────────────────┬──────────┬─────────┬────────────┐
│ Name                                     │ Time/Run │ mWd/Run │ Percentage │
├──────────────────────────────────────────┼──────────┼─────────┼────────────┤
│ Benchmark one permutation of Poseidon128 │  17.45us │  25.00w │    100.00% │
│ Benchmark one permutation of Poseidon128 │  17.23us │  25.00w │    100.00% │
│ Benchmark one permutation of Poseidon128 │  17.76us │  25.00w │    100.00% │
└──────────────────────────────────────────┴──────────┴─────────┴────────────┘
Optimised Poseidon128
Estimated testing time 2s (1 benchmarks x 2s). Change using '-quota'.
┌──────────────────────────────────────────┬──────────┬─────────┬────────────┐
│ Name                                     │ Time/Run │ mWd/Run │ Percentage │
├──────────────────────────────────────────┼──────────┼─────────┼────────────┤
│ Benchmark one permutation of Poseidon128 │  14.86us │  25.00w │    100.00% │
│ Benchmark one permutation of Poseidon128 │  15.18us │  25.00w │    100.00% │
│ Benchmark one permutation of Poseidon128 │  14.89us │  25.00w │    100.00% │
└──────────────────────────────────────────┴──────────┴─────────┴────────────┘
Edited by Danny Willems

Merge request reports

Loading