INNER CODE UNIT · Rust
bench_read_1mb_aes_file
xoriors/rencfs · benches/crypto_read.rs:37
fn bench_read_1mb_aes_file(c: &mut Criterion) {
let cipher = Cipher::Aes256Gcm;
let len = 1024 * 1024;
let mut key: Vec<u8> = vec![0; cipher.key_len()];
rand::thread_rng().fill_bytes(&mut key);
let key = SecretVec::new(Box::new(key));
c.bench_function("bench_read_1mb_aes_file", |b| {
b.iter(|| {
let file = tempfile::tempfile().unwrap();
let mut writer = crypto::create_write(file, cipher, &key);
let mut cursor_random = io::Cursor::new(vec![0; len]);
rand::thread_rng().fill_bytes(cursor_random.get_mut());
cursor_random.seek(io::SeekFrom::Start(0)).unwrap();
io::copy(&mut cursor_random, &mut writer).unwrap();
black_box(&writer);
writer.finish().unwrap();