提供电商网站建设,租车公司哪家好,广东品牌网站设计,免插件优化wordpressBenchmarkDotNet 是一个轻量级#xff0c;开源的#xff0c;强大的 .NET 工具包#xff0c;它可以将你的方法转化为基准并跟踪这些方法#xff0c;最后对这些方法的性能提供一些测试报告#xff0c;使用 BenchmarkDotNet 玩 基准测试 是非常容易的。你可以利用 BenchmarkD… BenchmarkDotNet 是一个轻量级开源的强大的 .NET 工具包它可以将你的方法转化为基准并跟踪这些方法最后对这些方法的性能提供一些测试报告使用 BenchmarkDotNet 玩 基准测试 是非常容易的。你可以利用 BenchmarkDotNet 在 .NET Framework 和 .NET Core 应用程序上实现基准测试在这篇文章中我们将会讨论如何在 .NET Core 中实现基准测试。安装 BenchmarkDotNet 要想使用 BenchmarkDotNet要么通过 Nuget 可视化窗口安装 BenchmarkDotNet要么使用NuGet Package Manager Console 命令行窗口输入如下命令。
Install-Package BenchmarkDotNet什么是基准测试 基准测试 是对应用程序的一段代码的性能提供一个或者一组度量值度量代码本质上来说就是让你清楚的了解你的应用程序的性能到底是怎么样的当你想优化代码的时候如果手边有这些性能度量值那该有多好呀~ 基准测试也可以帮助我们缩小到那些必须要重构的代码。创建基准测试代码 新建 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 Liststring(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.RunMemoryBenchmarkerDemo();
}运行 benchmark 值得注意的是一定要用 release 模式运行如果用debug的话会抛如下错误的。调整为 release 模式后将程序跑起来要稍微跑一段时间最后将会看到 console 输出如下的 summary。从图中可以看到summary中会包含比如BenchmarkDotNet版本操作系统计算机硬件.NET版本编译器信息和一些应用程序相关的性能信息从图中也可以看出 ConcatStringUsingStringBuilder 方法比 ConcatStringUsingGenericList 方法性能更高付出的代价就是占用更多的内存。接下来在 MemoryBenchmarkerDemo 类上标注 RankColumn 标记这样会在输出结构中多一个给程序排名的 Rank 列修改代码如下[MemoryDiagnoser, RankColumn]public class MemoryBenchmarkerDemo{...}接下来再将程序跑起来观察最后的 summary可以清楚的看到多了一个 Rank 列。BenchmarkDotNet 提供了一种简单的方式让你拥有了对应用程序的性能知情权如果你想了解更多关于如何在 ASP.NET Core 中使用 BenchmarkDotNet参考githubhttps://github.com/aspnet/benchmarks译文链接https://www.infoworld.com/article/3573782/how-to-benchmark-c-code-using-benchmarkdotnet.html