欢迎分享,转载请注明来源:内存溢出
如何在线生成图表_免费报表生成软件推荐
起因BenchmarkDotNet支持将性能测试的结果导出为多种格式,常用的一般为html/csv,其实BenchmarkDotNet支持生成很多种文件格式.支持的文件格式:BenchmarkDotNet支持生成很多种文件BenchmarkDotNet生成图表是依赖R的,BenchmarkDotNet只是生成R的脚本文件,需要R执行脚本生成图表.测试代码using System.Runtime.CompilerServices;using BenchmarkDotNet.Attributes;using BenchmarkDotNet.Configs;using BenchmarkDotNet.Exporters;using BenchmarkDotNet.Exporters.Csv;namespace dotnet_perf{ [RPlotExporter] //生成r脚本文件 [MemoryDiagnoser] [DisassemblyDiagnoser(printSource: true)] [Config(typeof(Config))] public class MethodInlineTest { [Params(10000)] public int Count { get; set; } public Random Random = new Random(); [Benchmark] public void AggressiveInlining() { for (int i = 0; i < Count; i++) { int a = Random.Next(1, 100); int b = Random.Next(1, 100); int c = AggressiveInliningTest(a, b); } } [Benchmark] public void AggressiveOptimization() { for (int i = 0; i < Count; i++) { int a = Random.Next(1, 100); int b = Random.Next(1, 100); int c = AggressiveOptimizationTest(a, b); } } [Benchmark] public void NoInlining() { for (int i = 0; i < Count; i++) { int a = Random.Next(1, 100); int b = Random.Next(1, 100); int c = NoInliningnTest(a, b); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int AggressiveInliningTest(int a, int b) //求数的大小 { return a > b ? a : b; } [MethodImpl(MethodImplOptions.AggressiveOptimization)] public int AggressiveOptimizationTest(int a, int b) //求数的大小 { return a > b ? a : b; } [MethodImpl(MethodImplOptions.NoInlining)] public int NoInliningnTest(int a, int b) //求数的大小 { return a > b ? a : b; } private class Config : ManualConfig { public Config() { AddExporter(CsvMeasurementsExporter.Default); //生成csv文件,r脚本生成图表需要 AddExporter(RPlotExporter.Default); //使用r默认的配置 } } }}#执行R脚本Rscript.exe .BuildPlots.R看BenchmarkDotNet生成的图表BenchmarkDotNet 生成图1BenchmarkDotNet 生成图2
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
ifs函数的使用方法和条件_sumifs多条件求和步骤
上一篇
2022-04-17
mysql的jdbc配置_mysql数据库备份讲解
下一篇
2022-04-17
评论列表(0条)