diff --git a/tests/ImageSharp.Benchmarks/Image/DecodeJpegMultiple.cs b/tests/ImageSharp.Benchmarks/Image/DecodeJpegMultiple.cs
index 497b20734..5c69d560e 100644
--- a/tests/ImageSharp.Benchmarks/Image/DecodeJpegMultiple.cs
+++ b/tests/ImageSharp.Benchmarks/Image/DecodeJpegMultiple.cs
@@ -1,4 +1,9 @@
-namespace ImageSharp.Benchmarks.Image
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ImageSharp.Benchmarks.Image
{
using System;
using System.Collections.Generic;
@@ -13,17 +18,23 @@
public class DecodeJpegMultiple
{
+ private const string Folder = "../ImageSharp.Tests/TestImages/Formats/Jpg/";
+
private Dictionary fileNamesToBytes;
public enum JpegTestingMode
{
All,
+
SmallImagesOnly,
+
LargeImagesOnly,
+
CalliphoraOnly,
}
- [Params(JpegTestingMode.All, JpegTestingMode.SmallImagesOnly, JpegTestingMode.LargeImagesOnly, JpegTestingMode.CalliphoraOnly)]
+ [Params(JpegTestingMode.All, JpegTestingMode.SmallImagesOnly, JpegTestingMode.LargeImagesOnly,
+ JpegTestingMode.CalliphoraOnly)]
public JpegTestingMode Mode { get; set; }
private IEnumerable> RequestedImages
@@ -31,7 +42,7 @@
get
{
int thresholdInBytes = 100000;
-
+
switch (this.Mode)
{
case JpegTestingMode.All:
@@ -41,38 +52,13 @@
case JpegTestingMode.LargeImagesOnly:
return this.fileNamesToBytes.Where(kv => kv.Value.Length >= thresholdInBytes);
case JpegTestingMode.CalliphoraOnly:
- return new[] {
- this.fileNamesToBytes.First(kv => kv.Key.ToLower().Contains("calliphora"))
- };
+ return new[] { this.fileNamesToBytes.First(kv => kv.Key.ToLower().Contains("calliphora")) };
default:
throw new ArgumentOutOfRangeException();
}
}
}
-
-#if BENCHMARK46
- private const string Folder = "../../../ImageSharp.Tests/TestImages/Formats/Jpg/";
-#else
- private const string Folder = "../ImageSharp.Tests/TestImages/Formats/Jpg/";
-#endif
-
- [Setup]
- public void ReadImages()
- {
- if (this.fileNamesToBytes != null) return;
-
- // Decoder does not work for these images (yet?):
- string[] filterWords = { "testimgari", "corrupted", "gray", "longvertical" };
-
- var allFiles = Directory.EnumerateFiles(Folder, "*.jpg", SearchOption.AllDirectories)
- .Where(fn => !filterWords.Any(w => fn.ToLower().Contains(w)))
- .ToArray();
-
- this.fileNamesToBytes = allFiles.ToDictionary(fn => fn, File.ReadAllBytes);
- }
-
-
[Benchmark(Description = "DecodeJpegMultiple - ImageSharp")]
public ImageSharpSize JpegImageSharp()
{
@@ -81,7 +67,7 @@
{
using (MemoryStream memoryStream = new MemoryStream(kv.Value))
{
- Image image = new ImageSharp.Image(memoryStream);
+ Image image = new Image(memoryStream);
lastSize = new ImageSharpSize(image.Width, image.Height);
}
}
@@ -92,7 +78,7 @@
[Benchmark(Baseline = true, Description = "DecodeJpegMultiple - System.Drawing")]
public Size JpegSystemDrawing()
{
- Size lastSize = new System.Drawing.Size();
+ Size lastSize = new Size();
foreach (var kv in this.RequestedImages)
{
using (MemoryStream memoryStream = new MemoryStream(kv.Value))
@@ -107,5 +93,20 @@
return lastSize;
}
+ [Setup]
+ public void ReadImages()
+ {
+ if (this.fileNamesToBytes != null) return;
+
+ // Decoder does not work for these images (yet?):
+ string[] filterWords = { "testimgari", "corrupted", "gray", "longvertical" };
+
+ var allFiles =
+ Directory.EnumerateFiles(Folder, "*.jpg", SearchOption.AllDirectories)
+ .Where(fn => !filterWords.Any(w => fn.ToLower().Contains(w)))
+ .ToArray();
+
+ this.fileNamesToBytes = allFiles.ToDictionary(fn => fn, File.ReadAllBytes);
+ }
}
}
\ No newline at end of file