要使用 BenchmarkDotNet 去做 .NET 程式的 benchmark,可先透過 NuGet 安裝 BenchmarkDotNet 套件。

1.png

2.png

3.png

4.png

套件安裝好後進行 benchmark 程式的撰寫,撰寫方式只要寫個 benchmark 的方法,方法內去叫用要測的方法,最後在方法上面加上 BenchmarkAttribute 即可。

using BenchmarkDotNet.Attributes;
public class ProgramBenchmarker {
protected Program m_Program { get; set; } = new Program();
[Benchmark]
public void Test() {
m_Program.Test();
}
}

benchmark 程式寫好後撰寫 benchmark 運行的部份,只要透過 BenchmarkRunner.Run 帶入 benchmark 類別就可以了。

using BenchmarkDotNet.Running;
public class Program {
static void Main(string[] args) {
var summary = BenchmarkRunner.Run();
}
public void Test() {… }
}
}

完整的測試程式如下:

using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

namespace ConsoleApplication2
{
public class Program
{
static void Main(string[] args)
{
var summary = BenchmarkRunner.Run();
}

public void Test()
{
}
}
public class ProgramBenchmarker
{
protected Program m_Program { get; set; } = new Program();

[Benchmark]
public void Test()
{
m_Program.Test();
}
}
}

運行結果如下:

5.png