benchmarks comparing the rust image processing ecosystem
Diffstat (limited to 'benches/resizing.rs')
| -rw-r--r-- | benches/resizing.rs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/benches/resizing.rs b/benches/resizing.rs index fc26eae..fb679ee 100644 --- a/benches/resizing.rs +++ b/benches/resizing.rs @@ -14,6 +14,27 @@ macro_rules! scale_fimg { }; } +macro_rules! scale_resize { + ($name:ident => { scale($alg: ident) }) => { + fn $name() { + use rgb::FromSlice; + let src = iai::black_box(include_bytes!("../data.imgbuf").to_vec()); + let mut dst = vec![0; TO as usize * TO as usize * 3]; + resize::new( + SIZE as usize, + SIZE as usize, + TO as usize, + TO as usize, + resize::Pixel::RGB8, + resize::Type::$alg, + ) + .unwrap() + .resize(src.as_rgb(), dst.as_rgb_mut()) + .unwrap(); + } + }; +} + macro_rules! scale_img { ($name:ident => { scale($alg: ident) }) => { fn $name() { @@ -37,14 +58,18 @@ scale_fimg!(nearest_fimg => { scale(Nearest) }); scale_img!(nearest_img => { scale(Nearest) }); scale_fimg!(lanczos_fimg => { scale(Lanczos3) }); scale_img!(lanczos_img => { scale(Lanczos3) }); +scale_resize!(lanczos_resize => { scale(Lanczos3 )}); scale_fimg!(catmull_fimg => { scale(CatmullRom) }); scale_img!(catmull_img => { scale(CatmullRom) }); +scale_resize!(catmull_resize => { scale(Catrom) }); iai::main!( nearest_fimg, nearest_img, lanczos_fimg, lanczos_img, + lanczos_resize, catmull_fimg, - catmull_img + catmull_img, + catmull_resize ); |