|
|
|
@ -16,7 +16,8 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs |
|
|
|
private byte[] filter1; |
|
|
|
private byte[] filter2; |
|
|
|
private byte[] filter3; |
|
|
|
private byte[] filter4; |
|
|
|
private byte[] averageFilter3bpp; |
|
|
|
private byte[] averageFilter4bpp; |
|
|
|
|
|
|
|
[GlobalSetup] |
|
|
|
public void ReadImages() |
|
|
|
@ -24,8 +25,9 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs |
|
|
|
this.filter0 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter0)); |
|
|
|
this.filter1 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter1)); |
|
|
|
this.filter2 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter2)); |
|
|
|
this.filter3 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter3)); |
|
|
|
this.filter4 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter4)); |
|
|
|
this.filter3 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter4)); |
|
|
|
this.averageFilter3bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter3bpp)); |
|
|
|
this.averageFilter4bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter4bpp)); |
|
|
|
} |
|
|
|
|
|
|
|
[Benchmark(Baseline = true, Description = "None-filtered PNG file")] |
|
|
|
@ -40,13 +42,17 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs |
|
|
|
public Size PngFilter2() |
|
|
|
=> LoadPng(this.filter2); |
|
|
|
|
|
|
|
[Benchmark(Description = "Average-filtered PNG file")] |
|
|
|
public Size PngFilter3() |
|
|
|
=> LoadPng(this.filter3); |
|
|
|
[Benchmark(Description = "Average-filtered PNG file (3bpp)")] |
|
|
|
public Size PngAvgFilter1() |
|
|
|
=> LoadPng(this.averageFilter3bpp); |
|
|
|
|
|
|
|
[Benchmark(Description = "Average-filtered PNG file (4bpp)")] |
|
|
|
public Size PngAvgFilter2() |
|
|
|
=> LoadPng(this.averageFilter4bpp); |
|
|
|
|
|
|
|
[Benchmark(Description = "Paeth-filtered PNG file")] |
|
|
|
public Size PngFilter4() |
|
|
|
=> LoadPng(this.filter4); |
|
|
|
=> LoadPng(this.filter3); |
|
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
|
|
private static Size LoadPng(byte[] bytes) |
|
|
|
|