BenchmarkDotNet


.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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM