This commit introduces two kinds of benchmarks:
1. Cryptographic Primitives. Measures the performance of all available
implementations of cryptographic algorithms using traditional
benchmarking. Uses criterion.
2. Protocol Runs. Measures the time each step in the protocol takes.
Measured using a tracing-based approach.
The benchmarks are run on CI and an interactive visual overview is
written to the gh-pages branch. If a benchmark takes more than twice the
time than the reference commit (for PR: the main branch), the action
fails.
This implicates a change from nixpkgs-fmt to nixfmt. Nixfmt will become
the new standard on nix formatting, sanctioned by the nixpkgs. To verify
that these changes are purely in whitespace, but not semantic:
git diff --ignore-all-space -w HEAD^!
That will only show newline changes, make the diffing somewhat easier.
Signed-off-by: wucke13 <wucke13+github@gmail.com>
This splits the complexity of the `flake.nix` into multiple files. At
cross-compiled and static builds at the benefit of simpler nix
expressions and generally better cross compilation compatibility.
the same time, naersk is removed; causing much slower builds for cross-
compiled packages.
This partially addresses the points mentioned in #412.