On x86_64 platforms using optimised code include the following target features in RUSTFLAGS:
export RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+avx2,+sse2,+sse4.1,+bmi2,+popcnt"
This library uses Criterion for benchmarks.
After running the bench command the report can be viewed at target/criterion/report/index.html
.
Note that that keypair generation often bounces around a fair bit even without code changes. Don't be surprised to significant speedups and regressions.
You will need to enable the benchmarking feature to run:
cargo bench --features "benchmarking kyber1024 avx2"
This is a workaround for issues with address sanitizer checks in the test suite.
More details on criterion usage here
Current benches:
- Keypair generation
- Encapsulation
- Correct Decapsulation
- Decapsulation failure