address feedback

This commit is contained in:
Jan Winkelmann (keks)
2025-05-27 16:29:46 +02:00
parent f008cff089
commit db62908f27
6 changed files with 62 additions and 66 deletions

View File

@@ -1,37 +1,3 @@
# Changes on This Branch
This branch adds facilities for benchmarking both the Rosenpass protocol
code and the implementations of the primitives behind it. The primitives
are benchmarked using criterion. For the protocol code, we use a custom
library for instrumenting the code such that events are written to a
trace, which is then inspected after a run.
## Protocol Benchmark
The trace that is being written to lives in a new module
`trace_bench` in the util crate. A basic benchmark that
performs some minor statistical analysis of the trace can be run using
```
cargo bench -p rosenpass --bench trace_handshake -F trace_bench
```
## Primitive Benchmark
Benchmarks for the functions of the traits `Kem`, `Aead` and `KeyedHash`
have been added and are run for all implementations in the `primitives`
benchmark of `rosenpass-ciphers`. Run the benchmarks using
```
cargo bench -p rosenpass-ciphers --bench primitives -F bench
```
Note that the `bench` feature enables the inclusion of the libcrux-backed
trait implementations in the module tree, but does not enable them
as default.
---
# Rosenpass README
![Nix](https://github.com/rosenpass/rosenpass/actions/workflows/nix.yaml/badge.svg)
@@ -117,6 +83,45 @@ Rosenpass is also available as prebuilt Docker images:
For details on how to use these images, refer to the [Docker usage guide](docker/USAGE.md).
## Benchmarks
This repository contains facilities for benchmarking both the Rosenpass
protocol code and the implementations of the cryptographic primitives used
by it. The primitives are benchmarked using criterion. For the protocol code
benchmarks we use a library for instrumenting the code such that events are
written to a trace, which is then inspected after a run.
Benchmarks are automatically run on CI. The measurements are visualized in the
[Benchmark Dashboard].
[Benchmark Dashboard]: https://rosenpass.github.io/benchmarks
### Primitive Benchmarks
There are benchmarks for the functions of the traits `Kem`, `Aead` and
`KeyedHash`. They are run for all implementations in the `primitives`
benchmark of `rosenpass-ciphers`. Run the benchmarks using
```
cargo bench -p rosenpass-ciphers --bench primitives -F bench
```
Note that the `bench` feature enables the inclusion of the libcrux-backed
trait implementations in the module tree, but does not enable them
as default.
### Protocol Benchmarks
The trace that is being written to lives in a new module
`trace_bench` in the util crate. A basic benchmark that
performs some minor statistical analysis of the trace can be run using
```
cargo bench -p rosenpass --bench trace_handshake -F trace_bench
```
---
# Mirrors
Don't want to use GitHub or only have an IPv6 connection? Rosenpass has set up two mirrors for this: