diff options
author | Nora Widdecke <nora@sequoia-pgp.org> | 2021-03-31 13:28:06 +0200 |
---|---|---|
committer | Nora Widdecke <nora@sequoia-pgp.org> | 2021-04-13 12:38:15 +0200 |
commit | b2c2862ba89eeef728c77e441af1d0f6c008adb9 (patch) | |
tree | 49c61892470cf54f08c13339cb94376581c3d8d4 /openpgp/benches | |
parent | 1e6c4d8e4aeac6d8673ca2b768d7243940e70d13 (diff) |
bench: Add benchmark generate_certs.
Diffstat (limited to 'openpgp/benches')
-rw-r--r-- | openpgp/benches/generate_cert.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/openpgp/benches/generate_cert.rs b/openpgp/benches/generate_cert.rs new file mode 100644 index 00000000..45b707ce --- /dev/null +++ b/openpgp/benches/generate_cert.rs @@ -0,0 +1,38 @@ +use criterion::{criterion_group, criterion_main, Criterion}; + +use sequoia_openpgp as openpgp; +use openpgp::cert::{CertBuilder, CipherSuite}; + +fn generate_cert(cipher: CipherSuite) { + // Parse the cert, ignore any errors + let _ = CertBuilder::general_purpose( + cipher, + Some("Alice Lovelace <alice@example.org>"), + ) + .generate() + .unwrap(); +} + +fn bench_generate_certs(c: &mut Criterion) { + let mut group = c.benchmark_group("generate cert"); + let cipher = CipherSuite::Cv25519; + group.bench_function(format!("{:?}", cipher), |b| { + b.iter(|| generate_cert(cipher)) + }); + let cipher = CipherSuite::P256; + group.bench_function(format!("{:?}", cipher), |b| { + b.iter(|| generate_cert(cipher)) + }); + let cipher = CipherSuite::P384; + group.bench_function(format!("{:?}", cipher), |b| { + b.iter(|| generate_cert(cipher)) + }); + let cipher = CipherSuite::P521; + group.bench_function(format!("{:?}", cipher), |b| { + b.iter(|| generate_cert(cipher)) + }); + group.finish(); +} + +criterion_group!(benches, bench_generate_certs); +criterion_main!(benches); |