.NET Core 超强性能测试组件BenchmarkDotNet 支持Full .NET Framework, .NET Core (RTM), Mono。

BenchmarkDotNet支持 C#, F#, 和Visual Basic,可以跨平台运行。

而且支持各种报表导出,相当的方便。

GitHub: https://github.com/PerfDotNet/BenchmarkDotNet

下面我们来实际使用及体验。

本篇主要讲解在.NET Core 应用中使用 BenchmarkDotNet。

新建应用

首先我们新建一个.NET Core 控制台应用 NETCoreTest

安装BenchmarkDotNet

使用NuGet 命令行安装:

Install-Package BenchmarkDotNet

也可以在NuGet 管理器中搜索安装

编写代码

安装好以后我们就可以编写测试代码

新建一个 Md5VsSha256 类 ,在方法中加入Benchmark 特性

    public class Md5VsSha256
{
private const int N = ;
private readonly byte[] data; private readonly SHA256 sha256 = SHA256.Create();
private readonly MD5 md5 = MD5.Create(); public Md5VsSha256()
{
data = new byte[N];
new Random().NextBytes(data);
} [Benchmark]
public byte[] Sha256()
{
return sha256.ComputeHash(data);
} [Benchmark]
public byte[] Md5()
{
return md5.ComputeHash(data);
}
}

执行测试

下面我们来执行

在Program.cs Main 中加入如下代码:

var summary = BenchmarkRunner.Run<Md5VsSha256>();

然后执行程序,可以使用dotnet run 也可以使用vs 的DEBUG。

下面是控制台输出的结果

执行完以后在程序目录下会有一个BenchmarkDotNet.Artifacts 文件夹。

里面也会有对应的测试结果文件。

更多强大的功能可以参看官方文档:https://perfdotnet.github.io/BenchmarkDotNet/

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

最新文章

  1. POI读取EXCEL(2007以上)
  2. 9.2.3 .net core 通过TagHelper封装控件
  3. XMind怎么使用查找功能
  4. 在php中验证复选框
  5. css之div等继承问题--待续
  6. eclipse与myeclipse恢复已删除的文件和代码
  7. 串行通讯之.NET SerialPort异步写数据
  8. git bash【初级入门篇】
  9. JDBC调用存储过程的例子
  10. hdu2389二分图之Hopcroft Karp算法
  11. 笔记:Maven 配置文件模板
  12. 【ShaderToy】水彩画
  13. hadoop队列管理(指定queue跑程序)
  14. 关于SVN报错 svn: E170013 E125006: contains invalid filesystem format option &#39;addressing logical&#39;
  15. 服务器Windows 登录 出现401 错误
  16. GCD 与 LCM UVA - 11388
  17. MySQL master-slave主从复制环境搭建初试
  18. CF448C Painting Fence (贪心分治)
  19. vue中使用sass 做减法计算
  20. hdu3374 String Problem KMP+最大最小表示法

热门文章

  1. ABP文档 - Mvc 控制器
  2. MVVM TextBox的键盘事件
  3. mybatis_基础篇
  4. Go web开发初探
  5. android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!
  6. Performance Monitor4:监控SQL Server的IO性能
  7. Android中通过ActionBar为标题栏添加搜索以及分享视窗
  8. 总结iOS开发中的断点续传那些事儿
  9. Linux学习笔记(一):常用命令
  10. ERROR 1300 (HY000): Invalid utf8 character string: &#39;&#39;