Skip to content

Instantly share code, notes, and snippets.

@AlleSchonWeg
Created May 31, 2017 09:04
Show Gist options
  • Save AlleSchonWeg/605fdb08d4185cd248a690edb07cd856 to your computer and use it in GitHub Desktop.
Save AlleSchonWeg/605fdb08d4185cd248a690edb07cd856 to your computer and use it in GitHub Desktop.
SimplePerfTest
using ImageSharp;
using System;
using System.Diagnostics;
using System.Drawing;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var sw = new Stopwatch();
for (int i = 0; i < 50; i++)
{
sw.Restart();
RenderGdi();
sw.Stop();
Console.WriteLine("GDI: " + sw.Elapsed);
sw.Restart();
RenderSharp();
sw.Stop();
Console.WriteLine("ImageSharp: " + sw.Elapsed);
Console.WriteLine();
}
Console.Read();
}
private static void RenderGdi()
{
using (var img = new Bitmap(400, 400))
{
using (var graphics = Graphics.FromImage(img))
{
graphics.Clear(Color.Black);
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(img.Width / 2 - 50, img.Height / 2 - 25, 100, 50);
graphics.FillRectangle(Brushes.Red, rect);
}
}
}
private static void RenderSharp()
{
using (var img = new Image<Rgba32>(400, 400))
{
img.Fill(Rgba32.Black);
var sRect = new ImageSharp.Rectangle(img.Width / 2 - 50, img.Height / 2 - 25, 100, 50);
img.Fill(Rgba32.Red, sRect);
}
}
}
}
@AlleSchonWeg
Copy link
Author

Result (AnyCPU, Release):
GDI: 00:00:00.0216496
ImageSharp: 00:00:00.2606743

GDI: 00:00:00.0009419
ImageSharp: 00:00:00.0211199

GDI: 00:00:00.0008744
ImageSharp: 00:00:00.0214412

GDI: 00:00:00.0010461
ImageSharp: 00:00:00.0207938

GDI: 00:00:00.0008541
ImageSharp: 00:00:00.0191427

GDI: 00:00:00.0007744
ImageSharp: 00:00:00.0191028

GDI: 00:00:00.0007974
ImageSharp: 00:00:00.0182246

GDI: 00:00:00.0007848
ImageSharp: 00:00:00.0164926

GDI: 00:00:00.0008656
ImageSharp: 00:00:00.0164398

GDI: 00:00:00.0007082
ImageSharp: 00:00:00.0156905

GDI: 00:00:00.0007238
ImageSharp: 00:00:00.0176712

GDI: 00:00:00.0007721
ImageSharp: 00:00:00.0166517

GDI: 00:00:00.0007985
ImageSharp: 00:00:00.0175148

GDI: 00:00:00.0007054
ImageSharp: 00:00:00.0193243

GDI: 00:00:00.0007648
ImageSharp: 00:00:00.0153650

GDI: 00:00:00.0007401
ImageSharp: 00:00:00.0167418

GDI: 00:00:00.0007158
ImageSharp: 00:00:00.0167236

GDI: 00:00:00.0006815
ImageSharp: 00:00:00.0180900

GDI: 00:00:00.0007574
ImageSharp: 00:00:00.0158863

GDI: 00:00:00.0008574
ImageSharp: 00:00:00.0156818

GDI: 00:00:00.0007626
ImageSharp: 00:00:00.0188905

GDI: 00:00:00.0007223
ImageSharp: 00:00:00.0179966

GDI: 00:00:00.0007129
ImageSharp: 00:00:00.0151621

GDI: 00:00:00.0006731
ImageSharp: 00:00:00.0151502

GDI: 00:00:00.0006293
ImageSharp: 00:00:00.0150651

GDI: 00:00:00.0007606
ImageSharp: 00:00:00.0172274

GDI: 00:00:00.0006451
ImageSharp: 00:00:00.0157770

GDI: 00:00:00.0006696
ImageSharp: 00:00:00.0144958

GDI: 00:00:00.0006186
ImageSharp: 00:00:00.0143882

GDI: 00:00:00.0006169
ImageSharp: 00:00:00.0126236

GDI: 00:00:00.0005991
ImageSharp: 00:00:00.0156097

GDI: 00:00:00.0006207
ImageSharp: 00:00:00.0137437

GDI: 00:00:00.0005717
ImageSharp: 00:00:00.0140664

GDI: 00:00:00.0006271
ImageSharp: 00:00:00.0121928

GDI: 00:00:00.0005543
ImageSharp: 00:00:00.0138985

GDI: 00:00:00.0006027
ImageSharp: 00:00:00.0127483

GDI: 00:00:00.0005769
ImageSharp: 00:00:00.0146666

GDI: 00:00:00.0006261
ImageSharp: 00:00:00.0125715

GDI: 00:00:00.0006636
ImageSharp: 00:00:00.0147847

GDI: 00:00:00.0007944
ImageSharp: 00:00:00.0136039

GDI: 00:00:00.0010871
ImageSharp: 00:00:00.0161727

GDI: 00:00:00.0008471
ImageSharp: 00:00:00.0156460

GDI: 00:00:00.0007202
ImageSharp: 00:00:00.0139921

GDI: 00:00:00.0007291
ImageSharp: 00:00:00.0159240

GDI: 00:00:00.0007788
ImageSharp: 00:00:00.0196280

GDI: 00:00:00.0007229
ImageSharp: 00:00:00.0160295

GDI: 00:00:00.0006196
ImageSharp: 00:00:00.0140500

GDI: 00:00:00.0009960
ImageSharp: 00:00:00.0127800

GDI: 00:00:00.0007243
ImageSharp: 00:00:00.0136238

GDI: 00:00:00.0006985
ImageSharp: 00:00:00.0144192

@AlleSchonWeg
Copy link
Author

BenchmarkDotNet=v0.10.6, OS=Windows 10 Redstone 1 (10.0.14393)
Processor=Intel Xeon CPU E5-2667 0 2.90GHz, ProcessorCount=4
Frequency=10000000 Hz, Resolution=100.0000 ns, Timer=UNKNOWN
  [Host]     : Clr 4.0.30319.42000, 32bit LegacyJIT-v4.6.1648.0
  DefaultJob : Clr 4.0.30319.42000, 32bit LegacyJIT-v4.6.1648.0

Method Mean Error StdDev
RenderGdi 767.8 us 36.62 us 107.4 us
RenderSharp 12,655.2 us 238.32 us 199.0 us

@AlleSchonWeg
Copy link
Author

BenchmarkDotNet=v0.10.6, OS=Windows 10 Redstone 1 (10.0.14393)
Processor=Intel Xeon CPU E5-2667 0 2.90GHz, ProcessorCount=4
Frequency=10000000 Hz, Resolution=100.0000 ns, Timer=UNKNOWN
  [Host]     : Clr 4.0.30319.42000, 32bit LegacyJIT-v4.7.2053.0
  DefaultJob : Clr 4.0.30319.42000, 32bit LegacyJIT-v4.7.2053.0

Method Mean Error StdDev Median
RenderGdi 821.2 us 40.64 us 119.18 us 820.2 us
RenderSharp 11,582.6 us 231.40 us 507.92 us 11,672.2 us
RenderSkia 537.4 us 20.81 us 61.05 us 554.0 us

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment