你可以利用 BenchmarkDotNet 在 .NET Framework 和 .NET Core 应用程序上实现基准测试,在这篇文章中,我们将会讨论如何在 .NET Core 中实现基准测试。
Install-Package BenchmarkDotNet什么是基准测试
基准测试 是对应用程序的一段代码的性能提供一个或者一组度量值,度量代码本质上来说就是让你清楚的了解你的应用程序的性能到底是怎么样的,当你想优化代码的时候,如果手边有这些性能度量值那该有多好呀~ 基准测试也可以帮助我们缩小到那些必须要重构的代码。
[MemoryDiagnoser] public class MemoryBenchmarkerDemo { int NumberOfItems = 100000; [Benchmark] public string ConcatStringsUsingStringBuilder() { var sb = new StringBuilder(); for (int i = 0; i < NumberOfItems; i++) { sb.Append("Hello World!" + i); } return sb.ToString(); } [Benchmark] public string ConcatStringsUsingGenericList() { var list = new List<string>(NumberOfItems); for (int i = 0; i < NumberOfItems; i++) { list.Add("Hello World!" + i); } return list.ToString(); } }上面的代码展示了如何做 基准测试, 做法很简单,在方法上标记 Benchmark 特性即可,接下来就可以 Main 方法中启动 基准测试,代码如下:
static void Main(string[] args) { var summary = BenchmarkRunner.Run<MemoryBenchmarkerDemo>(); }运行 benchmark
[MemoryDiagnoser, RankColumn] public class MemoryBenchmarkerDemo { ... }