Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,6 @@ QRCoder/PortabilityAnalysis.html
# Unaccepted approval files
QRCoderTests/*.received.*
*.received.txt

# Benchmarks
BenchmarkDotNet.Artifacts/
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
namespace QRCoderBenchmarks;

[MemoryDiagnoser]
public class BitmapByteQRCodeBenchmark
public class BitmapByteQRCodeRendererBenchmark
{
private readonly Dictionary<string, QRCodeData> _samples;

public BitmapByteQRCodeBenchmark()
public BitmapByteQRCodeRendererBenchmark()
{
var eccLvl = QRCoder.QRCodeGenerator.ECCLevel.L;
_samples = new Dictionary<string, QRCodeData>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
namespace QRCoderBenchmarks;

[MemoryDiagnoser]
public class PngByteQRCodeBenchmark
public class PngByteQRCodeRendererBenchmark
{
private readonly Dictionary<string, QRCodeData> _samples;

public PngByteQRCodeBenchmark()
public PngByteQRCodeRendererBenchmark()
{
var eccLvl = QRCoder.QRCodeGenerator.ECCLevel.L;
_samples = new Dictionary<string, QRCodeData>()
Expand Down
3 changes: 2 additions & 1 deletion QRCoderBenchmarks/Program.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System.Reflection;
using BenchmarkDotNet.Running;

BenchmarkRunner.Run(typeof(Program).Assembly);
BenchmarkSwitcher.FromAssembly(Assembly.GetExecutingAssembly()).Run(args);
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace QRCoderBenchmarks;

[MemoryDiagnoser]
public class QRCodeGenerator
public class QRCodeGeneratorBenchmark
{
[Benchmark]
public void CreateQRCode()
Expand Down
49 changes: 49 additions & 0 deletions QRCoderBenchmarks/QRCodeRendererBenchmark.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using BenchmarkDotNet.Attributes;
using QRCoder;

namespace QRCoderBenchmarks;

[MemoryDiagnoser]
public class QRCodeRendererBenchmark
{
private readonly Dictionary<string, QRCodeData> _samples;

public QRCodeRendererBenchmark()
{
var eccLvl = QRCoder.QRCodeGenerator.ECCLevel.L;
_samples = new Dictionary<string, QRCodeData>()
{
{ "small", QRCoder.QRCodeGenerator.GenerateQrCode("ABCD", eccLvl) },
{ "medium", QRCoder.QRCodeGenerator.GenerateQrCode("https://github.com/Shane32/QRCoder/blob/f89aa90081f369983a9ba114e49cc6ebf0b2a7b1/QRCoder/Framework4.0Methods/Stream4Methods.cs", eccLvl) },
{ "big", QRCoder.QRCodeGenerator.GenerateQrCode( new string('a', 2600), eccLvl) }
};
}

[Benchmark]
public void RenderQRCodeSmall()
{
var qrCode = new QRCode(_samples["small"]);
using var bmp = qrCode.GetGraphic(10);
}

[Benchmark]
public void RenderQRCodeMedium()
{
var qrCode = new QRCode(_samples["medium"]);
using var bmp = qrCode.GetGraphic(10);
}

[Benchmark]
public void RenderQRCodeBig()
{
var qrCode = new QRCode(_samples["big"]);
using var bmp = qrCode.GetGraphic(10);
}

[Benchmark]
public void RenderQRCodeHuge()
{
var qrCode = new QRCode(_samples["big"]);
using var bmp = qrCode.GetGraphic(50);
}
}
2 changes: 1 addition & 1 deletion QRCoderBenchmarks/QRCoderBenchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<NoWarn>$(NoWarn);CA1822</NoWarn>
Expand Down