如何在线生成图表_免费报表生成软件推荐

如何在线生成图表_免费报表生成软件推荐,第1张

如何在线生成图表_免费报表生成软件推荐 起因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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/651330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-17
下一篇 2022-04-17

发表评论

登录后才能评论

评论列表(0条)

保存