parent
53368fcbbf
commit
139b2878d0
6 changed files with 78 additions and 163 deletions
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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>,
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue