summaryrefslogtreecommitdiffstats
path: root/openpgp/benches/read_keys.rs
blob: 34f1a0457cc1a62fa490def2684304fb6187b78e (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
27
28
29
30
31
32
33
34
35
36
use criterion::{criterion_group, criterion_main, Criterion};

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

fn read_key(bytes: &[u8]) {
    let _ = Cert::from_bytes(bytes);
}

//fn bench_random(c: &mut Criterion) {
//    let mut group = c.benchmark_group("bench_crypto_random");
//
//    group.sample_size(50);
//    for i in (8..33).step_by(8) {
//        group.throughput(Throughput::Bytes(i as u64));
//        group.bench_function(format!("crypto::random {:02}", i), |b| b.iter(|| run_random(black_box(i)) ));
//    };
//    group.finish();
//}

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!("lutz.gpg", group);
    group.finish();
}

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