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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步