add chacha20 benchmarks
This commit is contained in:
parent
20e970d7f6
commit
e41653d188
|
@ -22,3 +22,6 @@ hex = { package = "hex-conservative", version = "0.3.0", default-features = fals
|
|||
[package.metadata.docs.rs]
|
||||
all-features = true
|
||||
rustdoc-args = ["--cfg", "docsrs"]
|
||||
|
||||
[lints.rust]
|
||||
unexpected_cfgs = { level = "deny", check-cfg = ['cfg(bench)'] }
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
use test::Bencher;
|
||||
|
||||
use crate::{ChaCha20, Key, Nonce};
|
||||
|
||||
#[bench]
|
||||
pub fn chacha20_10(bh: &mut Bencher) {
|
||||
let key =
|
||||
Key::new([0u8; 32]);
|
||||
let nonce = Nonce::new([0u8; 12]);
|
||||
let count = 1;
|
||||
let mut chacha = ChaCha20::new(key, nonce, count);
|
||||
let mut bytes = [0u8; 10];
|
||||
bh.iter(|| {
|
||||
chacha.apply_keystream(&mut bytes[..]);
|
||||
});
|
||||
bh.bytes = bytes.len() as u64;
|
||||
}
|
||||
|
||||
#[bench]
|
||||
pub fn chacha20_1k(bh: &mut Bencher) {
|
||||
let key =
|
||||
Key::new([0u8; 32]);
|
||||
let nonce = Nonce::new([0u8; 12]);
|
||||
let count = 1;
|
||||
let mut chacha = ChaCha20::new(key, nonce, count);
|
||||
let mut bytes = [0u8; 1024];
|
||||
bh.iter(|| {
|
||||
chacha.apply_keystream(&mut bytes[..]);
|
||||
});
|
||||
bh.bytes = bytes.len() as u64;
|
||||
}
|
||||
|
||||
#[bench]
|
||||
pub fn chacha20_64k(bh: &mut Bencher) {
|
||||
let key =
|
||||
Key::new([0u8; 32]);
|
||||
let nonce = Nonce::new([0u8; 12]);
|
||||
let count = 1;
|
||||
let mut chacha = ChaCha20::new(key, nonce, count);
|
||||
let mut bytes = [0u8; 65536];
|
||||
bh.iter(|| {
|
||||
chacha.apply_keystream(&mut bytes[..]);
|
||||
});
|
||||
bh.bytes = bytes.len() as u64;
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
#![no_std]
|
||||
// Experimental features we need.
|
||||
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
|
||||
#![cfg_attr(bench, feature(test))]
|
||||
// Coding conventions.
|
||||
#![warn(missing_docs)]
|
||||
#![warn(deprecated_in_future)]
|
||||
|
@ -18,6 +19,10 @@ extern crate alloc;
|
|||
#[cfg(feature = "std")]
|
||||
extern crate std;
|
||||
|
||||
#[cfg(bench)]
|
||||
mod benches;
|
||||
#[cfg(bench)]
|
||||
extern crate test;
|
||||
pub mod chacha20;
|
||||
pub mod poly1305;
|
||||
|
||||
|
|
Loading…
Reference in New Issue