Created
January 30, 2021 08:25
-
-
Save dmitry-ra/64f277cf8aaa30fbe6141032a83ad145 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using BenchmarkDotNet.Attributes; | |
namespace Base32Benchmarks | |
{ | |
// <ItemGroup> | |
// <PackageReference Include = "Albireo.Base32" Version="1.2.0" /> | |
// <PackageReference Include = "BenchmarkDotNet" Version="0.12.1" /> | |
// <PackageReference Include = "deniszykov.BaseN" Version="3.0.0" /> | |
// <PackageReference Include = "SimpleBase" Version="3.0.2" /> | |
// <PackageReference Include = "Wiry.Base32" Version="1.1.1" /> | |
// </ItemGroup> | |
public class Base32EncodeBenchmarks | |
{ | |
private const int N = 20 * 1024 * 1024; | |
private readonly byte[] _data; | |
public Base32EncodeBenchmarks() | |
{ | |
_data = new byte[N]; | |
new Random(42).NextBytes(_data); | |
} | |
[Benchmark(Baseline = true)] | |
public void System_Convert_ToBase64String() | |
{ | |
_ = Convert.ToBase64String(_data); | |
} | |
[Benchmark] | |
public void BaseN_Base64Convert_ToString() | |
{ | |
_ = deniszykov.BaseN.Base64Convert.ToString(_data); | |
} | |
[Benchmark] | |
public void BaseN_Base32Convert_ToString() | |
{ | |
_ = deniszykov.BaseN.Base32Convert.ToString(_data); | |
} | |
[Benchmark] | |
public void Wiry_Base32Encoding_Standard_GetString() | |
{ | |
_ = Wiry.Base32.Base32Encoding.Standard.GetString(_data); | |
} | |
[Benchmark] | |
public void SimpleBase_Base32_Rfc4648_Encode() | |
{ | |
_ = SimpleBase.Base32.Rfc4648.Encode(_data); | |
} | |
[Benchmark] | |
public void Albireo_Base32_Encode() | |
{ | |
_ = Albireo.Base32.Base32.Encode(_data); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment