我应该创建单独的基准项目吗?

Should I create separate Benchmark project?

我想使用 BenchmarkDotNet 库在我的控制台应用程序中测量某些方法的性能。

问题是:我应该在我的解决方案中创建一个单独的项目,在其中复制我感兴趣的测量方法并在那里进行测量,还是应该将测量所需的所有属性添加到现有项目中?

这里的约定是什么?

您可以将其视为为您的控制台应用程序添加单元测试。您不会将测试添加到应用程序本身,但通常会创建一个新项目来引用(而不是复制)您要测试的逻辑。

我认为最好的方法是:

  1. 为您的解决方案添加一个新的基准测试控制台应用程序。
  2. 在基准应用程序中,添加对现有控制台应用程序的项目引用。
  3. 将具有所有 BDN 注释的新基准添加到基准项目,但通过引用控制台应用公开的 public 类型和方法来实施基准。不要复制代码(随着时间的推移,您可能会对一份副本进行更改并最终测试过时的版本)。