aboutsummaryrefslogtreecommitdiff
path: root/azalea-crypto/benches/my_benchmark.rs
blob: 78c74c4e3b10af6d0cf641ea8b589e255dbead2b (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
use azalea_crypto::{create_cipher, decrypt_packet, encrypt_packet};
use criterion::{Criterion, criterion_group, criterion_main};

fn bench(c: &mut Criterion) {
    let (mut enc, mut dec) = create_cipher(b"0123456789abcdef");

    let mut packet = [0u8; 65536];
    for (i, item) in packet.iter_mut().enumerate() {
        *item = i as u8;
    }

    c.bench_function("Encrypt 64kb", |b| {
        b.iter(|| encrypt_packet(&mut enc, &mut packet.clone()))
    });

    encrypt_packet(&mut enc, &mut packet);

    c.bench_function("Decrypt 64kb", |b| {
        b.iter(|| decrypt_packet(&mut dec, &mut packet.clone()))
    });
}

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