diff options
author | Nora Widdecke <nora@sequoia-pgp.org> | 2021-01-15 18:01:48 +0100 |
---|---|---|
committer | Nora Widdecke <nora@sequoia-pgp.org> | 2021-01-15 18:01:48 +0100 |
commit | 90ab455f357fbc88fe1645250522316bd89554ce (patch) | |
tree | b35077963628d0e200b312aed6b06d0ff750f47f | |
parent | 5d484b5c36dd175c4d8289c280898be094599cdb (diff) |
openpgp: Add benchmark generate_keys.
-rw-r--r-- | openpgp/Cargo.toml | 4 | ||||
-rw-r--r-- | openpgp/benches/generate_keys.rs | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/openpgp/Cargo.toml b/openpgp/Cargo.toml index d8186c8e..6747af09 100644 --- a/openpgp/Cargo.toml +++ b/openpgp/Cargo.toml @@ -83,5 +83,9 @@ name = "pad" required-features = ["compression-deflate"] [[bench]] +name = "generate_keys" +harness = false + +[[bench]] name = "read_keys" harness = false diff --git a/openpgp/benches/generate_keys.rs b/openpgp/benches/generate_keys.rs new file mode 100644 index 00000000..c006fd83 --- /dev/null +++ b/openpgp/benches/generate_keys.rs @@ -0,0 +1,22 @@ +use criterion::{criterion_group, criterion_main, Criterion}; + +use sequoia_openpgp::cert::{Cert, CertBuilder}; + +// Borrowed from chapter 01 of the guide +// Generates an signing-capable key. +fn generate_signing() -> sequoia_openpgp::Result<Cert> { + let (cert, _revocation) = CertBuilder::new() + .add_userid("someone@example.org") + .add_signing_subkey() + .generate()?; + Ok(cert) +} + +fn bench_generate_keys(c: &mut Criterion) { + let mut group = c.benchmark_group("generate keys"); + group.bench_function("signing", |b| b.iter(|| generate_signing())); + group.finish(); +} + +criterion_group!(benches, bench_generate_keys); +criterion_main!(benches); |