.NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono
.NET Core 超强性能测试组件BenchmarkDotNet 支持Full .NET Framework, .NET Core (RTM), Mono。
BenchmarkDotNet支持 C#, F#, 和Visual Basic,可以跨平台运行。
而且支持各种报表导出,相当的方便。
GitHub: https://github.com/PerfDotNet/BenchmarkDotNet
下面我们来实际使用及体验。
本篇主要讲解在.NET Core 应用中使用 BenchmarkDotNet。
新建应用
首先我们新建一个.NET Core 控制台应用 NETCoreTest
安装BenchmarkDotNet
使用NuGet 命令行安装:
Install-Package BenchmarkDotNet
也可以在NuGet 管理器中搜索安装
编写代码
安装好以后我们就可以编写测试代码
新建一个 Md5VsSha256 类 ,在方法中加入Benchmark 特性
public class Md5VsSha256
{
private const int N = 10000;
private readonly byte[] data; private readonly SHA256 sha256 = SHA256.Create();
private readonly MD5 md5 = MD5.Create(); public Md5VsSha256()
{
data = new byte[N];
new Random(42).NextBytes(data);
} [Benchmark]
public byte[] Sha256()
{
return sha256.ComputeHash(data);
} [Benchmark]
public byte[] Md5()
{
return md5.ComputeHash(data);
}
}
执行测试
下面我们来执行
在Program.cs Main 中加入如下代码:
var summary = BenchmarkRunner.Run<Md5VsSha256>();
然后执行程序,可以使用dotnet run 也可以使用vs 的DEBUG。
下面是控制台输出的结果
执行完以后在程序目录下会有一个BenchmarkDotNet.Artifacts 文件夹。
里面也会有对应的测试结果文件。
更多强大的功能可以参看官方文档:https://perfdotnet.github.io/BenchmarkDotNet/