今天在github上面看到一个新秀BenchmarkDotNet。查了一下, 现在网上中文资料似乎只有这么一篇介绍:
不要手动StopWatch了,让BenchmarkDotNet帮你。 http://www.cnblogs.com/rader/p/4920862.html
看了介绍,但是blog比较久,也不全。还是按照官方的文档一步一步来,真真是好东西。
这是一个单元测试的性能测试库,经过使用测试,完全兼容了XUnit单元测试,漂亮。
Nuget: https://www.nuget.org/packages/BenchmarkDotNet/
Project Site: https://github.com/PerfDotNet/BenchmarkDotNet
安装BenchmarkDotNet
PM> Install-Package BenchmarkDotNet
例子
public class Md5VsSha256
{
private const int N = 10000;
private readonly byte[] data;
private readonly SHA256 sha256 = SHA256.Create();
private readonly MD5 md5 = MD5.Create();
public Md5VsSha256()
{
data = new byte[N];
new Random(42).NextBytes(data);
}
[Benchmark]
public byte[] Sha256()
{
return sha256.ComputeHash(data);
}
[Benchmark]
public byte[] Md5()
{
return md5.ComputeHash(data);
}
}
运行
var summary = BenchmarkRunner.Run<Md5VsSha256>();
输出
// * Summary *
BenchmarkDotNet=v0.9.1.0
OS=Microsoft Windows NT 6.1.7601 Service Pack 1
Processor=Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz, ProcessorCount=4
Frequency=3020400 ticks, Resolution=331.0820 ns
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
Type=BenchmarkTest Mode=Throughput
Method | Median | StdDev |
------- |----------- |---------- |
xxx | 58.4725 ns | 0.5935 ns |
// ***** BenchmarkRunner: End *****
单元测试的性能测试库
发表于:2017-01-09
作者:网络转载
来源:
 相关文章
单元测试系列之一开篇 单元测试的实践与思考 Python单元测试之道:从入门到精通 单元测试的重要性:编写更安全、更可... 简化Java单元测试数据 Golang单元测试详解:单元测试的基本...- 周排行
- 月排行
- 评论排行
-   对Controller的单元测试
-   单元测试:优雅的Spock框架
-   Android开发中如何进行单元测试?
-   iOS网络接口的单元测试
-   你应该知道的单元测试
-   你们单测覆盖率是如何统计的?原理是...
-   单元测试运行原理探究
-   Android开发中如何进行单元测试?
-   简化Java单元测试数据
-   什么是单元测试,和集成测试有什么区别?
-   黑盒测试方法之组合覆盖法
-   一次单元测试优化的过程总结
-   使用Elixir来优化Erlang的单元测试用例
-   单元测试—DbUnit测试
-   从软件出发,非功能测试思考总结
-   展望2017,谁是网络技术头牌?
-   C/C++单元测试工具Visual Unit 4 介绍
-   国内外最好用的6款Bug跟踪管理系统
-   性能测试指标评估必读
-   百度软件测试方案模板
-   38张史上最全的IT工程师技能图谱
-   C/C++单元测试工具Visual Unit 4 介绍
-   2019年,你会选哪些安全测试工具?
-   十款Web服务器性能压力测试工具
-   软件测试入门指南:周期、模型和文档化
-   记自动化测试成神学习之路
-   软件测试全景图 -最全的思维导图