基于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