zoukankan      html  css  js  c++  java
  • BenchmarkDotNet(性能测试)

     
    转载自: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 文件夹。

     

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

     

     

  • 相关阅读:
    【牛客网】Finding Hotel
    【牛客网】Longest Common Subsequence
    【ZOJ】4012 Your Bridge is under Attack
    【LOJ】#2210. 「HNOI2014」江南乐
    可能是一篇(抄来的)min25学习笔记
    【LOJ】#3020. 「CQOI2017」小 Q 的表格
    【51nod】1602 矩阵方程的解
    【51nod】1634 刚体图
    【51nod】1407 与与与与
    【51nod】1776 路径计数
  • 原文地址:https://www.cnblogs.com/wu-fm/p/6655961.html
Copyright © 2011-2022 走看看