fast image operations
Diffstat (limited to 'benches/affine_transformations.rs')
-rw-r--r--benches/affine_transformations.rs31
1 files changed, 9 insertions, 22 deletions
diff --git a/benches/affine_transformations.rs b/benches/affine_transformations.rs
index 8ac03a4..b74d9ba 100644
--- a/benches/affine_transformations.rs
+++ b/benches/affine_transformations.rs
@@ -1,36 +1,23 @@
use fimg::*;
macro_rules! bench {
- (fn $name: ident() { run $fn: ident() } $($namec:ident)?) => {
+ (fn $name: ident() { run $fn: ident() }) => {
fn $name() {
- let mut bytes = *include_bytes!("4_128x128.imgbuf");
let mut img: Image<_, 4> =
- Image::build(128, 128).buf(&mut bytes);
+ Image::build(160, 160).buf(include_bytes!("4_160x160.imgbuf").to_vec());
for _ in 0..256 {
#[allow(unused_unsafe)]
unsafe {
- img.as_mut().$fn()
+ img.$fn()
};
}
}
-
- $(fn $namec() {
- let img: Image<&[u8], 4> =
- Image::build(128, 128).buf(include_bytes!("4_128x128.imgbuf"));
- #[allow(unused_unsafe)]
- unsafe {
- std::hint::black_box(img.cloner().$fn())
- };
- })?
};
}
-bench!(fn flip_h() { run flip_h() } flip_hc);
-bench!(fn flip_v() { run flip_v() } flip_vc);
-bench!(fn rotate_90() { run rot_90() } rot_90c);
-bench!(fn rotate_180() { run rot_180() } rot_180c);
-bench!(fn rotate_270() { run rot_270() } rot_270c);
-iai::main!(
- flip_h, flip_v, rotate_90, rotate_180, rotate_270, flip_hc, flip_vc, rot_90c, rot_180c,
- rot_270c
-);
+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() });
+iai::main!(flip_h, flip_v, rotate_90, rotate_180, rotate_270);