Fix benchmark compilation

Closes #197
This commit is contained in:
Josh Holmer 2020-04-15 13:14:10 -04:00
parent 53368fcbbf
commit 139b2878d0
6 changed files with 78 additions and 163 deletions

View file

@ -13,7 +13,7 @@ fn filters_16_bits_filter_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(0);
png.raw.filter_image(0);
});
}
@ -23,7 +23,7 @@ fn filters_8_bits_filter_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(0);
png.raw.filter_image(0);
});
}
@ -35,7 +35,7 @@ fn filters_4_bits_filter_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(0);
png.raw.filter_image(0);
});
}
@ -47,7 +47,7 @@ fn filters_2_bits_filter_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(0);
png.raw.filter_image(0);
});
}
@ -59,7 +59,7 @@ fn filters_1_bits_filter_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(0);
png.raw.filter_image(0);
});
}
@ -69,7 +69,7 @@ fn filters_16_bits_filter_1(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(1);
png.raw.filter_image(1);
});
}
@ -79,7 +79,7 @@ fn filters_8_bits_filter_1(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(1);
png.raw.filter_image(1);
});
}
@ -91,7 +91,7 @@ fn filters_4_bits_filter_1(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(1);
png.raw.filter_image(1);
});
}
@ -103,7 +103,7 @@ fn filters_2_bits_filter_1(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(1);
png.raw.filter_image(1);
});
}
@ -115,7 +115,7 @@ fn filters_1_bits_filter_1(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(1);
png.raw.filter_image(1);
});
}
@ -125,7 +125,7 @@ fn filters_16_bits_filter_2(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(2);
png.raw.filter_image(2);
});
}
@ -135,7 +135,7 @@ fn filters_8_bits_filter_2(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(2);
png.raw.filter_image(2);
});
}
@ -147,7 +147,7 @@ fn filters_4_bits_filter_2(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(2);
png.raw.filter_image(2);
});
}
@ -159,7 +159,7 @@ fn filters_2_bits_filter_2(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(2);
png.raw.filter_image(2);
});
}
@ -171,7 +171,7 @@ fn filters_1_bits_filter_2(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(2);
png.raw.filter_image(2);
});
}
@ -181,7 +181,7 @@ fn filters_16_bits_filter_3(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(3);
png.raw.filter_image(3);
});
}
@ -191,7 +191,7 @@ fn filters_8_bits_filter_3(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(3);
png.raw.filter_image(3);
});
}
@ -203,7 +203,7 @@ fn filters_4_bits_filter_3(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(3);
png.raw.filter_image(3);
});
}
@ -215,7 +215,7 @@ fn filters_2_bits_filter_3(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(3);
png.raw.filter_image(3);
});
}
@ -227,7 +227,7 @@ fn filters_1_bits_filter_3(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(3);
png.raw.filter_image(3);
});
}
@ -237,7 +237,7 @@ fn filters_16_bits_filter_4(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(4);
png.raw.filter_image(4);
});
}
@ -247,7 +247,7 @@ fn filters_8_bits_filter_4(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(4);
png.raw.filter_image(4);
});
}
@ -259,7 +259,7 @@ fn filters_4_bits_filter_4(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(4);
png.raw.filter_image(4);
});
}
@ -271,7 +271,7 @@ fn filters_2_bits_filter_4(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(4);
png.raw.filter_image(4);
});
}
@ -283,7 +283,7 @@ fn filters_1_bits_filter_4(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(4);
png.raw.filter_image(4);
});
}
@ -293,7 +293,7 @@ fn filters_16_bits_filter_5(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(5);
png.raw.filter_image(5);
});
}
@ -303,7 +303,7 @@ fn filters_8_bits_filter_5(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(5);
png.raw.filter_image(5);
});
}
@ -315,7 +315,7 @@ fn filters_4_bits_filter_5(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(5);
png.raw.filter_image(5);
});
}
@ -327,7 +327,7 @@ fn filters_2_bits_filter_5(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(5);
png.raw.filter_image(5);
});
}
@ -339,6 +339,6 @@ fn filters_1_bits_filter_5(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
png.filter_image(5);
png.raw.filter_image(5);
});
}

View file

@ -12,10 +12,7 @@ fn interlacing_16_bits(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgb_16_should_be_rgb_16.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(1)
});
b.iter(|| png.raw.change_interlacing(1));
}
#[bench]
@ -23,10 +20,7 @@ fn interlacing_8_bits(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_rgb_8.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(1)
});
b.iter(|| png.raw.change_interlacing(1));
}
#[bench]
@ -36,10 +30,7 @@ fn interlacing_4_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(1)
});
b.iter(|| png.raw.change_interlacing(1));
}
#[bench]
@ -49,10 +40,7 @@ fn interlacing_2_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(1)
});
b.iter(|| png.raw.change_interlacing(1));
}
#[bench]
@ -62,10 +50,7 @@ fn interlacing_1_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(1)
});
b.iter(|| png.raw.change_interlacing(1));
}
#[bench]
@ -75,10 +60,7 @@ fn deinterlacing_16_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(0)
});
b.iter(|| png.raw.change_interlacing(0));
}
#[bench]
@ -88,10 +70,7 @@ fn deinterlacing_8_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(0)
});
b.iter(|| png.raw.change_interlacing(0));
}
#[bench]
@ -101,10 +80,7 @@ fn deinterlacing_4_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(0)
});
b.iter(|| png.raw.change_interlacing(0));
}
#[bench]
@ -114,10 +90,7 @@ fn deinterlacing_2_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(0)
});
b.iter(|| png.raw.change_interlacing(0));
}
#[bench]
@ -127,8 +100,5 @@ fn deinterlacing_1_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.change_interlacing(0)
});
b.iter(|| png.raw.change_interlacing(0));
}

View file

@ -13,7 +13,7 @@ fn libdeflater_16_bits_strategy_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
libdeflater_deflate(png.raw.data.as_ref()).ok();
libdeflater_deflate(png.raw.data.as_ref(), &AtomicMin::new(None)).ok();
});
}
@ -23,7 +23,7 @@ fn libdeflater_8_bits_strategy_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
libdeflater_deflate(png.raw.data.as_ref()).ok();
libdeflater_deflate(png.raw.data.as_ref(), &AtomicMin::new(None)).ok();
});
}
@ -35,7 +35,7 @@ fn libdeflater_4_bits_strategy_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
libdeflater_deflate(png.raw.data.as_ref()).ok();
libdeflater_deflate(png.raw.data.as_ref(), &AtomicMin::new(None)).ok();
});
}
@ -47,7 +47,7 @@ fn libdeflater_2_bits_strategy_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
libdeflater_deflate(png.raw.data.as_ref()).ok();
libdeflater_deflate(png.raw.data.as_ref(), &AtomicMin::new(None)).ok();
});
}
@ -59,6 +59,6 @@ fn libdeflater_1_bits_strategy_0(b: &mut Bencher) {
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
libdeflater_deflate(png.raw.data.as_ref()).ok();
libdeflater_deflate(png.raw.data.as_ref(), &AtomicMin::new(None)).ok();
});
}

View file

@ -12,10 +12,7 @@ fn reductions_16_to_8_bits(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgb_16_should_be_rgb_8.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_bit_depth()
});
b.iter(|| bit_depth::reduce_bit_depth(&png.raw, 1));
}
#[bench]
@ -25,10 +22,7 @@ fn reductions_8_to_4_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_bit_depth()
});
b.iter(|| bit_depth::reduce_bit_depth(&png.raw, 1));
}
#[bench]
@ -38,10 +32,7 @@ fn reductions_8_to_2_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_bit_depth()
});
b.iter(|| bit_depth::reduce_bit_depth(&png.raw, 1));
}
#[bench]
@ -51,10 +42,7 @@ fn reductions_8_to_1_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_bit_depth()
});
b.iter(|| bit_depth::reduce_bit_depth(&png.raw, 1));
}
#[bench]
@ -64,10 +52,7 @@ fn reductions_4_to_2_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_bit_depth()
});
b.iter(|| bit_depth::reduce_bit_depth(&png.raw, 1));
}
#[bench]
@ -77,10 +62,7 @@ fn reductions_4_to_1_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_bit_depth()
});
b.iter(|| bit_depth::reduce_bit_depth(&png.raw, 1));
}
#[bench]
@ -90,10 +72,7 @@ fn reductions_2_to_1_bits(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_bit_depth()
});
b.iter(|| bit_depth::reduce_bit_depth(&png.raw, 1));
}
#[bench]
@ -101,10 +80,7 @@ fn reductions_rgba_to_rgb_16(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_16_should_be_rgb_16.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -112,10 +88,7 @@ fn reductions_rgba_to_rgb_8(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_should_be_rgb_8.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -125,10 +98,7 @@ fn reductions_rgba_to_grayscale_alpha_16(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -138,10 +108,7 @@ fn reductions_rgba_to_grayscale_alpha_8(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -151,10 +118,7 @@ fn reductions_rgba_to_grayscale_16(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -164,10 +128,7 @@ fn reductions_rgba_to_grayscale_8(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -177,10 +138,7 @@ fn reductions_rgb_to_grayscale_16(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -188,10 +146,7 @@ fn reductions_rgb_to_grayscale_8(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_grayscale_8.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -199,10 +154,7 @@ fn reductions_rgba_to_palette_8(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_should_be_palette_8.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -210,10 +162,7 @@ fn reductions_rgb_to_palette_8(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_palette_8.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_color_type()
});
b.iter(|| reduce_color_type(&png.raw));
}
#[bench]
@ -223,10 +172,7 @@ fn reductions_palette_duplicate_reduction(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_palette()
});
b.iter(|| reduced_palette(&png.raw));
}
#[bench]
@ -236,10 +182,7 @@ fn reductions_palette_unused_reduction(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_palette()
});
b.iter(|| reduced_palette(&png.raw));
}
#[bench]
@ -249,10 +192,7 @@ fn reductions_palette_full_reduction(b: &mut Bencher) {
));
let png = PngData::new(&input, false).unwrap();
b.iter(|| {
let mut safe_png = png.clone();
safe_png.reduce_palette()
});
b.iter(|| reduced_palette(&png.raw));
}
#[bench]
@ -260,7 +200,7 @@ fn reductions_alpha_black(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_reduce_alpha_black.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| png.reduced_alpha_channel(AlphaOptim::Black));
b.iter(|| alpha::filtered_alpha_channel(&png.raw, AlphaOptim::Black));
}
#[bench]
@ -268,7 +208,7 @@ fn reductions_alpha_white(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_reduce_alpha_white.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| png.reduced_alpha_channel(AlphaOptim::White));
b.iter(|| alpha::filtered_alpha_channel(&png.raw, AlphaOptim::White));
}
#[bench]
@ -276,7 +216,7 @@ fn reductions_alpha_left(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_reduce_alpha_left.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| png.reduced_alpha_channel(AlphaOptim::Left));
b.iter(|| alpha::filtered_alpha_channel(&png.raw, AlphaOptim::Left));
}
#[bench]
@ -284,7 +224,7 @@ fn reductions_alpha_right(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_reduce_alpha_right.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| png.reduced_alpha_channel(AlphaOptim::Right));
b.iter(|| alpha::filtered_alpha_channel(&png.raw, AlphaOptim::Right));
}
#[bench]
@ -292,7 +232,7 @@ fn reductions_alpha_up(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_reduce_alpha_up.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| png.reduced_alpha_channel(AlphaOptim::Up));
b.iter(|| alpha::filtered_alpha_channel(&png.raw, AlphaOptim::Up));
}
#[bench]
@ -300,5 +240,5 @@ fn reductions_alpha_down(b: &mut Bencher) {
let input = test::black_box(PathBuf::from("tests/files/rgba_8_reduce_alpha_down.png"));
let png = PngData::new(&input, false).unwrap();
b.iter(|| png.reduced_alpha_channel(AlphaOptim::Down));
b.iter(|| alpha::filtered_alpha_channel(&png.raw, AlphaOptim::Down));
}

View file

@ -29,7 +29,8 @@ pub fn inflate(data: &[u8]) -> PngResult<Vec<u8>> {
}
/// Compress a data stream using the DEFLATE algorithm
pub(crate) fn deflate(
#[doc(hidden)]
pub fn deflate(
data: &[u8],
zc: u8,
zs: u8,

View file

@ -62,6 +62,7 @@ pub mod internal_tests {
pub use crate::deflate::*;
pub use crate::headers::*;
pub use crate::png::*;
pub use crate::reduction::*;
}
#[derive(Clone, Debug)]
@ -801,6 +802,7 @@ fn perform_reductions(
try_alpha_reductions(png, &opts.alphas, eval);
}
#[derive(Debug)]
struct DeadlineImp {
start: Instant,
timeout: Duration,
@ -808,7 +810,9 @@ struct DeadlineImp {
}
/// Keep track of processing timeout
pub(crate) struct Deadline {
#[doc(hidden)]
#[derive(Debug)]
pub struct Deadline {
imp: Option<DeadlineImp>,
}