NetCore Benchmark 基准测试
基于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>();
运行项目:

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

浙公网安备 33010602011771号