fast image operations
Diffstat (limited to 'benches/affine_transformations.rs')
| -rw-r--r-- | benches/affine_transformations.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/benches/affine_transformations.rs b/benches/affine_transformations.rs new file mode 100644 index 0000000..ac68d6e --- /dev/null +++ b/benches/affine_transformations.rs @@ -0,0 +1,28 @@ +#![feature(test)] +extern crate test; +use fimg::*; +use test::Bencher; + +macro_rules! bench { + (fn $name: ident() { run $fn: ident() }) => { + #[bench] + fn $name(b: &mut Bencher) { + let mut img: Image<_, 4> = Image::new( + 64.try_into().unwrap(), + 64.try_into().unwrap(), + include_bytes!("4_180x180.imgbuf").to_vec(), + ); + b.iter(|| { + for _ in 0..256 { + img.flip_h(); + } + }); + } + }; +} + +bench!(fn flip_h() { run flip_h() }); +bench!(fn flip_v() { run flip_v() }); +bench!(fn rotate_90() { run rot_90() }); +bench!(fn rotate_180() { run rot_180() }); +bench!(fn rotate_270() { run rot_270() }); |