首页 > 其他分享 >NetCore Benchmark 基准测试

NetCore Benchmark 基准测试

时间:2022-11-05 12:57:00浏览次数:60  
标签:NetCore int items 基准 Benchmark BenchmarkDotNet public

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

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

通过NuGet引用BenchmarkDotNet至工程中

编写测试代码  类:Benchmarks.cs

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>();

 

运行项目:

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

 

标签:NetCore,int,items,基准,Benchmark,BenchmarkDotNet,public
From: https://www.cnblogs.com/fuyu-blog/p/16859979.html

相关文章

  • 乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - .Net应用架构示例项目集锦,研
    .NETApplicationArchitecturehttps://github.com/dotnet-architecture位于Github上dotnet-architecture名下的项目是集结了开源社区智慧的示范结晶,是研究和学习最新D......
  • .Netcore IOptions<LoggerFilterOptions> 获取的顺序
    .netcore配置文件的日志级别:{"Logging":{"LogLevel":{"Default":"Information","Microsoft":"Trace","Microsoft.Hosting.Lifetime......
  • NETCORE - AutoMappper 对象映射
    NETCORE-AutoMappper对象映射                        引用:https://www.dongchuanmin.com/net/1398.html ......
  • NETCORE - ValidationAttribute 属性验证
    NETCORE-ValidationAttribute属性验证 创建.net6 webapi 项目                          引用:https://bl......
  • VS Code 调试 NETCore 热更新
    {//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387"......
  • Apache Flink 流计算基准测试框架
    每一种引擎有其优势的地方,如何选择适合自己业务的流计算引擎成了一个由来已久的话题。除了比较各个引擎提供的不同的功能矩阵之外,性能是一个无法绕开的评估因素。基准测试(b......
  • 基于.NetCore开发博客项目 StarBlog - (19) Markdown渲染方案探索
    前言笔者认为,一个博客网站,最核心的是阅读体验。在开发StarBlog的过程中,最耗时的恰恰也是文章的展示部分功能。最开始还没研究出来如何很好的使用后端渲染,所以只能先用Ed......
  • How to Run Benchmarks
    标题:HowtoRunBenchmarks原文:https://blog.rabbitmq.com/posts/2020/06/how-to-run-benchmarks/时间:2020-06-04进行基准测试有很多原因:规模和容量规划产品评估(Rabb......
  • NETCORE - Socket 通信
    NETCORE-Socket通信创建两个.net项目,一个做为服务端,一个做为客户端。项目1:NETCORE.SSocket.Server (.net6 控制台应用程序)创建socket服务类:SocketServe......
  • NETCORE - WebSocket通信
    NETCORE-WebSocket通信 webscoket 通信 一般为 客户端与服务端通信,如需两个服务端通信,可把其中一个服务端模拟成客户端。项目框架 vue+.net6 创建NET6 的......