码迷,mamicode.com
首页 > Web开发 > 详细

BenchmarkDotNet(性能测试)

时间:2017-04-01 14:58:11      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:文件夹   var   pre   ssh   平台   turn   编写   ext   rand   

 
转载自:http://www.cnblogs.com/Leo_wl/p/5918279.html
 
 

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

.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[N];
            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 文件夹。

 

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

 

技术分享

 

 

BenchmarkDotNet(性能测试)

标签:文件夹   var   pre   ssh   平台   turn   编写   ext   rand   

原文地址:http://www.cnblogs.com/wu-fm/p/6655961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!