Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
use test::Bencher; | ||
|
||
use octavo::digest::md4::Md4; | ||
|
||
bench_digest!(bench_16, Md4, 16); | ||
bench_digest!(bench_128, Md4, 128); | ||
bench_digest!(bench_256, Md4, 256); | ||
bench_digest!(bench_512, Md4, 512); | ||
bench_digest!(bench_1k, Md4, 1024); | ||
bench_digest!(bench_10k, Md4, 10240); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
use test::Bencher; | ||
|
||
use octavo::digest::md5::Md5; | ||
|
||
bench_digest!(bench_16, Md5, 16); | ||
bench_digest!(bench_128, Md5, 128); | ||
bench_digest!(bench_256, Md5, 256); | ||
bench_digest!(bench_512, Md5, 512); | ||
bench_digest!(bench_1k, Md5, 1024); | ||
bench_digest!(bench_10k, Md5, 10240); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
macro_rules! bench_digest { | ||
($name:ident, $engine:path, $bytes:expr) => { | ||
#[bench] | ||
fn $name(b: &mut Bencher) { | ||
use octavo::digest::Digest; | ||
|
||
let mut d = <$engine>::default(); | ||
let data = [0; $bytes]; | ||
|
||
b.iter(|| { | ||
d.update(&data[..]); | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
hauleth
Author
Member
|
||
}); | ||
|
||
b.bytes = $bytes; | ||
} | ||
} | ||
} | ||
|
||
#[cfg(feature = "md4")] #[macro_use] mod md4; | ||
#[cfg(feature = "md5")] #[macro_use] mod md5; | ||
#[cfg(feature = "sha1")] #[macro_use] mod sha1; | ||
#[cfg(feature = "sha2")] #[macro_use] mod sha2; | ||
#[cfg(feature = "sha3")] #[macro_use] mod sha3; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha1::Sha1; | ||
|
||
bench_digest!(bench_16, Sha1, 16); | ||
bench_digest!(bench_128, Sha1, 128); | ||
bench_digest!(bench_256, Sha1, 256); | ||
bench_digest!(bench_512, Sha1, 512); | ||
bench_digest!(bench_1k, Sha1, 1024); | ||
bench_digest!(bench_10k, Sha1, 10240); | ||
This comment has been minimized.
Sorry, something went wrong.
briansmith
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
mod sha224 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha2; | ||
|
||
bench_digest!(bench_16, sha2::Sha224, 16); | ||
bench_digest!(bench_128, sha2::Sha224, 128); | ||
bench_digest!(bench_256, sha2::Sha224, 256); | ||
bench_digest!(bench_512, sha2::Sha224, 512); | ||
bench_digest!(bench_1k, sha2::Sha224, 1024); | ||
bench_digest!(bench_10k, sha2::Sha224, 10240); | ||
} | ||
|
||
mod sha256 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha2; | ||
|
||
bench_digest!(bench_16, sha2::Sha256, 16); | ||
bench_digest!(bench_128, sha2::Sha256, 128); | ||
bench_digest!(bench_256, sha2::Sha256, 256); | ||
bench_digest!(bench_512, sha2::Sha256, 512); | ||
bench_digest!(bench_1k, sha2::Sha256, 1024); | ||
bench_digest!(bench_10k, sha2::Sha256, 10240); | ||
} | ||
|
||
mod sha384 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha2; | ||
|
||
bench_digest!(bench_16, sha2::Sha384, 16); | ||
bench_digest!(bench_128, sha2::Sha384, 128); | ||
bench_digest!(bench_256, sha2::Sha384, 256); | ||
bench_digest!(bench_512, sha2::Sha384, 512); | ||
bench_digest!(bench_1k, sha2::Sha384, 1024); | ||
bench_digest!(bench_10k, sha2::Sha384, 10240); | ||
} | ||
|
||
mod sha512 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha2; | ||
|
||
bench_digest!(bench_16, sha2::Sha512, 16); | ||
bench_digest!(bench_128, sha2::Sha512, 128); | ||
bench_digest!(bench_256, sha2::Sha512, 256); | ||
bench_digest!(bench_512, sha2::Sha512, 512); | ||
bench_digest!(bench_1k, sha2::Sha512, 1024); | ||
bench_digest!(bench_10k, sha2::Sha512, 10240); | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
mod sha224 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha3; | ||
|
||
bench_digest!(bench_16, sha3::Sha3224, 16); | ||
bench_digest!(bench_128, sha3::Sha3224, 128); | ||
bench_digest!(bench_256, sha3::Sha3224, 256); | ||
bench_digest!(bench_512, sha3::Sha3224, 512); | ||
bench_digest!(bench_1k, sha3::Sha3224, 1024); | ||
bench_digest!(bench_10k, sha3::Sha3224, 10240); | ||
} | ||
|
||
mod sha256 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha3; | ||
|
||
bench_digest!(bench_16, sha3::Sha3256, 16); | ||
bench_digest!(bench_128, sha3::Sha3256, 128); | ||
bench_digest!(bench_256, sha3::Sha3256, 256); | ||
bench_digest!(bench_512, sha3::Sha3256, 512); | ||
bench_digest!(bench_1k, sha3::Sha3256, 1024); | ||
bench_digest!(bench_10k, sha3::Sha3256, 10240); | ||
} | ||
|
||
mod sha384 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha3; | ||
|
||
bench_digest!(bench_16, sha3::Sha3384, 16); | ||
bench_digest!(bench_128, sha3::Sha3384, 128); | ||
bench_digest!(bench_256, sha3::Sha3384, 256); | ||
bench_digest!(bench_512, sha3::Sha3384, 512); | ||
bench_digest!(bench_1k, sha3::Sha3384, 1024); | ||
bench_digest!(bench_10k, sha3::Sha3384, 10240); | ||
} | ||
|
||
mod sha512 { | ||
use test::Bencher; | ||
|
||
use octavo::digest::sha3; | ||
|
||
bench_digest!(bench_16, sha3::Sha3512, 16); | ||
bench_digest!(bench_128, sha3::Sha3512, 128); | ||
bench_digest!(bench_256, sha3::Sha3512, 256); | ||
bench_digest!(bench_512, sha3::Sha3512, 512); | ||
bench_digest!(bench_1k, sha3::Sha3512, 1024); | ||
bench_digest!(bench_10k, sha3::Sha3512, 10240); | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
use test::Bencher; | ||
|
||
use octavo::digest::tiger::Tiger; | ||
|
||
bench_digest!(bench_16, Tiger, 16); | ||
bench_digest!(bench_128, Tiger, 128); | ||
bench_digest!(bench_256, Tiger, 256); | ||
bench_digest!(bench_512, Tiger, 512); | ||
bench_digest!(bench_1k, Tiger, 1024); | ||
bench_digest!(bench_10k, Tiger, 10240); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#![feature(test)] | ||
|
||
extern crate test; | ||
extern crate octavo; | ||
|
||
mod digest; |
IMO, this is not a realistic benchmark structure because it doesn't test initialization or finalization. That means it is easy to cheat on it: Just move all computation to the initialization or finish phases.