NetCore Benchmark 基准测试

基于NetCore的基准测试Demo(控制台程序)

创建控制台程序,输入工程名称    LinqConsole

通过NuGet引用BenchmarkDotNet至工程中

编写测试代码  类:Benchmarks.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
 
namespace LinqConsole;
 
//[SimpleJob(RuntimeMoniker.Net50)]  支持多平台测试,需要在工程。csproj文件中增加平台,例如:<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
[SimpleJob(RuntimeMoniker.Net60)]
[MemoryDiagnoser(false)]
public class Benchmarks
{
    [Params(100)]
    public int Size { get; set; }
 
    private IEnumerable<int> _items;
 
    [GlobalSetup]
    public void SetUp()
    {
        _items = Enumerable.Range(1, Size).ToArray();
    }
 
    [Benchmark]
    public int Min() => _items.Min();
     
    [Benchmark]
    public int Max() => _items.Max();
     
    [Benchmark]
    public double Avg() => _items.Average();
     
    [Benchmark]
    public int Sum() => _items.Sum();
}

在入口文件中加入启动:BenchmarkRunner.Run<Benchmarks>();

 

运行项目:

可查看运行时长以及分配内存字节

 

本文作者:Jason.裕哥

本文链接:https://www.cnblogs.com/fuyu-blog/p/16859979.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Jason.裕哥  阅读(132)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起