summaryrefslogtreecommitdiffstats
path: root/openpgp/benches/read_keys.rs
blob: 0f227ae6ab412bc61b9a6636721b8d75d961ca26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use criterion::{criterion_group, criterion_main, Criterion};

use sequoia_openpgp::cert::Cert;
use sequoia_openpgp::parse::Parse;

fn read_key(bytes: &[u8]) {
    // Parse the cert, ignore any errors
    let _ = Cert::from_bytes(bytes);
}

macro_rules! bench_parse_key {
    ( $filename: expr, $group: expr ) => {
        let bytes = include_bytes!(concat!("../tests/data/keys/", $filename));
        $group.bench_function($filename, |b| b.iter(|| read_key(bytes)));
    }

}
fn bench_read_keys(c: &mut Criterion) {
    let mut group = c.benchmark_group("read keys");
    bench_parse_key!("dkg.gpg", group);
    bench_parse_key!("neal.pgp", group);
    group.finish();
}

criterion_group!(benches, bench_read_keys);
criterion_main!(benches);