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]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
rustdoc-args = ["--cfg", "docsrs"]
|
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]
|
#![no_std]
|
||||||
// Experimental features we need.
|
// Experimental features we need.
|
||||||
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
|
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
|
||||||
|
#![cfg_attr(bench, feature(test))]
|
||||||
// Coding conventions.
|
// Coding conventions.
|
||||||
#![warn(missing_docs)]
|
#![warn(missing_docs)]
|
||||||
#![warn(deprecated_in_future)]
|
#![warn(deprecated_in_future)]
|
||||||
|
@ -18,6 +19,10 @@ extern crate alloc;
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
extern crate std;
|
extern crate std;
|
||||||
|
|
||||||
|
#[cfg(bench)]
|
||||||
|
mod benches;
|
||||||
|
#[cfg(bench)]
|
||||||
|
extern crate test;
|
||||||
pub mod chacha20;
|
pub mod chacha20;
|
||||||
pub mod poly1305;
|
pub mod poly1305;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue