Browse Source

cleanup + StyleCop

pull/34/head
Anton Firszov 10 years ago
parent
commit
768a9577f5
  1. 63
      tests/ImageSharp.Benchmarks/Image/DecodeJpegMultiple.cs

63
tests/ImageSharp.Benchmarks/Image/DecodeJpegMultiple.cs

@ -1,4 +1,9 @@
namespace ImageSharp.Benchmarks.Image // <copyright file="DecodeJpegMultiple.cs" company="James Jackson-South">
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
// </copyright>
namespace ImageSharp.Benchmarks.Image
{ {
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -13,17 +18,23 @@
public class DecodeJpegMultiple public class DecodeJpegMultiple
{ {
private const string Folder = "../ImageSharp.Tests/TestImages/Formats/Jpg/";
private Dictionary<string, byte[]> fileNamesToBytes; private Dictionary<string, byte[]> fileNamesToBytes;
public enum JpegTestingMode public enum JpegTestingMode
{ {
All, All,
SmallImagesOnly, SmallImagesOnly,
LargeImagesOnly, LargeImagesOnly,
CalliphoraOnly, CalliphoraOnly,
} }
[Params(JpegTestingMode.All, JpegTestingMode.SmallImagesOnly, JpegTestingMode.LargeImagesOnly, JpegTestingMode.CalliphoraOnly)] [Params(JpegTestingMode.All, JpegTestingMode.SmallImagesOnly, JpegTestingMode.LargeImagesOnly,
JpegTestingMode.CalliphoraOnly)]
public JpegTestingMode Mode { get; set; } public JpegTestingMode Mode { get; set; }
private IEnumerable<KeyValuePair<string, byte[]>> RequestedImages private IEnumerable<KeyValuePair<string, byte[]>> RequestedImages
@ -31,7 +42,7 @@
get get
{ {
int thresholdInBytes = 100000; int thresholdInBytes = 100000;
switch (this.Mode) switch (this.Mode)
{ {
case JpegTestingMode.All: case JpegTestingMode.All:
@ -41,38 +52,13 @@
case JpegTestingMode.LargeImagesOnly: case JpegTestingMode.LargeImagesOnly:
return this.fileNamesToBytes.Where(kv => kv.Value.Length >= thresholdInBytes); return this.fileNamesToBytes.Where(kv => kv.Value.Length >= thresholdInBytes);
case JpegTestingMode.CalliphoraOnly: case JpegTestingMode.CalliphoraOnly:
return new[] { return new[] { this.fileNamesToBytes.First(kv => kv.Key.ToLower().Contains("calliphora")) };
this.fileNamesToBytes.First(kv => kv.Key.ToLower().Contains("calliphora"))
};
default: default:
throw new ArgumentOutOfRangeException(); 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")] [Benchmark(Description = "DecodeJpegMultiple - ImageSharp")]
public ImageSharpSize JpegImageSharp() public ImageSharpSize JpegImageSharp()
{ {
@ -81,7 +67,7 @@
{ {
using (MemoryStream memoryStream = new MemoryStream(kv.Value)) 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); lastSize = new ImageSharpSize(image.Width, image.Height);
} }
} }
@ -92,7 +78,7 @@
[Benchmark(Baseline = true, Description = "DecodeJpegMultiple - System.Drawing")] [Benchmark(Baseline = true, Description = "DecodeJpegMultiple - System.Drawing")]
public Size JpegSystemDrawing() public Size JpegSystemDrawing()
{ {
Size lastSize = new System.Drawing.Size(); Size lastSize = new Size();
foreach (var kv in this.RequestedImages) foreach (var kv in this.RequestedImages)
{ {
using (MemoryStream memoryStream = new MemoryStream(kv.Value)) using (MemoryStream memoryStream = new MemoryStream(kv.Value))
@ -107,5 +93,20 @@
return lastSize; 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);
}
} }
} }
Loading…
Cancel
Save