![如何在线生成图表_免费报表生成软件推荐,第1张 如何在线生成图表_免费报表生成软件推荐,第1张](/aiimages/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BF%E7%94%9F%E6%88%90%E5%9B%BE%E8%A1%A8_%E5%85%8D%E8%B4%B9%E6%8A%A5%E8%A1%A8%E7%94%9F%E6%88%90%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90.png)
如何在线
生成图表_免费
报表生成软件推荐
起因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条)