C#中使用BeachmarkDotNet进行基准测试

安装

  1. 在VS2022中选择菜单项工具->NuGet包管理->管理解决方案的NuGet程序包
  2. 在打开的窗口中选择浏览->搜索BenchmarkDotNet->选择搜索结果中的BenchmarkDotNet->点击安装
  3. 所有弹出框都选择确定
  4. 等待完成安装

使用

  1. 创建一个的类,里面存放需要测试的函数Test1()Test2()
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class BenchmarkTest
    {
    public void Test1()
    {
    Console.WriteLine("Test1");
    }

    public void Test2()
    {
    Console.WriteLine("Test2");
    }
    }
  2. 对需要测试的函数增加[Benchmark]特性。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class BenchmarkTest
    {
    [Benchmark]
    public void Test1()
    {
    Console.WriteLine("Test1");
    }

    [Benchmark]
    public void Test2()
    {
    Console.WriteLine("Test2");
    }
    }
  3. main函数中使用BenchmarkRunner.Run<BenchmarkTest>(),将会调用BenchmarkTest类中的待测试的函数。
1
2
3
4
static void Main(string[] args)
{
BenchmarkRunner.Run<BenchmarkTest>();
}
  1. (可选)如果需要查看内存使用可以在class加上[MemoryDiagnoser]特性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[MemoryDiagnoser]
public class BenchmarkTest
{
[Benchmark]
public void Test1()
{
Console.WriteLine("Test1");
}

[Benchmark]
public void Test2()
{
Console.WriteLine("Test2");
}
}
  1. 将解决方案配置由Debug改为Release
  2. 点击界面按钮开始执行(不调试)或者快捷键Ctrl+F5,开始执行。