diff options
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); |