BenchmarkDotNet - Getting started

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





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

1
2
3
4
5
6
7
8
9
10
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 類別就可以了。

1
2
3
4
5
6
7
8
9
10
using BenchmarkDotNet.Running; 

public class Program {
static void Main(string[] args) {
var summary = BenchmarkRunner.Run<ProgramBenchmarker>();
}
public void Test() {… }
}

}


完整的測試程式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

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

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

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


運行結果如下: