用BenchmarkDotNet给C#程序做性能测试
来源:互联网 发布:2016网络大学报名时间 编辑:程序博客网 时间:2024/06/08 10:06
BenchmarkDotNet是一个用MIT协议开源的C#程序性能测试的一个库,非常简单易用。
用法
安装NuGet包,BenchmarkDotNet
在需要做性能测试的方法前加上属性
[Benchmark]
。在Main函数调用性能测试
var summary = BenchmarkRunner.Run<Md5VsSha256>();
。
工作原理
BenchmarkDotNet为每一个要做性能测试的方法生成了一个单独的项目,放在程序的输出目录下,用Release模式编译,并且运行多次来统计性能测试结果。
每次运行都包含以下几个步骤。
Pilot: 决定运行几次。
IdleWarmup, IdleTarget:评估BenchmarkDotNet这个工具带来的额外开销。
MainWarmup:测试热身。
MainTarget:测试。
Result:测试结果减去BenchmarkDotNet带来的额外开销。
生成测试报告。有各种格式,包括html格式,markdown格式(缺省风格,github风格,stackoverflow风格),txt格式,csv格式。比如如下就是我运行示例代码后得到的github风格的输出。
Sha256 123.4171 us 6.7846 us
可以在程序的输出目录下的log文件中看到上面所说的每个过程的详细信息。
其他配置
BenchmarkDotNet还有很多可以配置的地方,可以参见主页的介绍。
原文地址:http://fresky.github.io/2016/03/06/use-benchmarkdotnet-for-csharp-benchmark/
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
阅读全文
0 0
- 用BenchmarkDotNet给C#程序做性能测试
- .NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono
- 用apachebench给服务器做并发压力性能测试
- 用c++做性能测试
- C#代码性能测试程序编写要点
- C# 性能测试程序及编写要点
- lr_用java_Vuser做性能测试
- 如何做性能测试?
- 如何做性能测试
- Android 平台用 Gprof 给 Cocos2d-x 做性能分析
- 用Expect来做Linux程序测试
- 用vs给C#程序打包
- C#性能测试
- C# 性能测试
- 我用ab给web服务器做压力测试
- 使用junitperf做性能测试
- 为什么要做性能测试?
- Jmeter做接口性能测试
- Entity Framework Core延期及弃用的特性
- 《机器学习项目开发实战》送书活动结果公布
- Microsoft宣布.NET Core支持计划
- IronPython项目有了新负责人
- 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
- 用BenchmarkDotNet给C#程序做性能测试
- 不该活着的SqlHelper和DBHelper
- ASP.NET Core 中文文档 第三章 原理(3)静态文件处理
- ASP.NET Core 中文文档 第三章 原理(1)应用程序启动
- 如何建立基本的嵌入式开发工作环境
- ASP.NET Core 中文文档 第三章 原理(2)中间件
- .NET 4.6.2正式发布带来众多特性
- 拥抱.NET Core,如何开发一个跨平台类库
- 拥抱.NET Core,学习.NET Core的基础知识补遗