diff options
author | Andreas Grois <andi@grois.info> | 2022-10-20 21:45:43 +0200 |
---|---|---|
committer | Andreas Grois <andi@grois.info> | 2022-10-20 21:45:43 +0200 |
commit | e484af8f3c683e81d6445a4d66972ca1fa6897a6 (patch) | |
tree | f225e0c0228a576efc7d3b7974ccc7e8526f258b /benches/leet.rs | |
parent | be766f81b6985b9df3da39d78fb19ec4383075c7 (diff) | |
parent | ea6789e5b33540270f5de3edb54264e6892fad73 (diff) |
Merge branch 'main' into feature/heap-allocation-free-base-conversion
Diffstat (limited to 'benches/leet.rs')
-rw-r--r-- | benches/leet.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/benches/leet.rs b/benches/leet.rs new file mode 100644 index 0000000..ef3b649 --- /dev/null +++ b/benches/leet.rs @@ -0,0 +1,49 @@ +mod mock_hashers; + +use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use passwordmaker_rs::{HashAlgorithm, LeetLevel}; +use mock_hashers::Pwm; + +fn criterion_bench_16bytes_post_leet(c: &mut Criterion) { + let pwm = Pwm::new( + HashAlgorithm::Md5, + passwordmaker_rs::UseLeetWhenGenerating::After { level: LeetLevel::Six }, + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`~!@#$%^&*()_-+={}|[]\\:\";'<>?,./", + "", + "", + 150, + "", + "" + ).unwrap(); + c.bench_function("16 bytes with post_leet", |b| b.iter(|| { + pwm.generate( + black_box("This is a long string. With many, many characters. For no particular reason.".to_owned()), + black_box("And another relatively long string for no reason other than it being long.".to_owned()) + ) + })); +} + +fn criterion_bench_16bytes_pre_leet(c: &mut Criterion) { + let pwm = Pwm::new( + HashAlgorithm::Md5, + passwordmaker_rs::UseLeetWhenGenerating::Before { level: LeetLevel::Six }, + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`~!@#$%^&*()_-+={}|[]\\:\";'<>?,./", + "", + "", + 150, + "", + "" + ).unwrap(); + c.bench_function("16 bytes with pre_leet", |b| b.iter(|| { + pwm.generate( + black_box("This is a long string. With many, many characters. For no particular reason.".to_owned()), + black_box("And another relatively long string for no reason other than it being long.".to_owned()) + ) + })); +} + +criterion_group!(benches, + criterion_bench_16bytes_post_leet, + criterion_bench_16bytes_pre_leet +); +criterion_main!(benches); |