.NET Core 超強性能測試組件BenchmarkDotNet 支持Full .NET Framework, .NET Core (RTM), Mono。 BenchmarkDotNet支持 C#, F#, 和Visual Basic,可以跨平臺運行。 而且支持各種報表導出,相當的方便。 Git ...
.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/
如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。