aboutsummaryrefslogtreecommitdiff
path: root/benches/zears.rs
blob: ddf5e68778ca319d157a8710b656ebe62a521b15 (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, BenchmarkId, Criterion, Throughput};

use zears::Aez;

fn bench(c: &mut Criterion) {
    let mut group = c.benchmark_group("zears");

    const KB: usize = 1024;

    for size in [KB, 2 * KB, 4 * KB, 8 * KB, 16 * KB].into_iter() {
        let buf = vec![0u8; size];

        group.throughput(Throughput::Bytes(size as u64));

        group.bench_function(BenchmarkId::new("encrypt_buffer", size), |b| {
            let aez = Aez::new(&[0u8; 48]);
            let mut out = vec![0u8; size + 16];
            b.iter(|| aez.encrypt_buffer(&[0], &[], &buf, &mut out))
        });
    }

    group.finish();
}

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