您的位置:首页 > 其它

.NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono

2016-09-29 07:09 671 查看
.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 = 10000;
       private readonly byte[] data;  
      private readonly SHA256 sha256 = SHA256.Create();       private readonly MD5 md5 = MD5.Create();

       public Md5VsSha256()
       {
           data = new byte
;
           new Random(42).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/
相关文章: 
用BenchmarkDotNet给C#程序做性能测试

原文地址:http://www.cnblogs.com/linezero/p/BenchmarkDotNet.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: