文章插图
文章插图
起因
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 生成图1
BenchmarkDotNet 生成图2
- 在线条形码生成器-条形码在线生成工具 在线条形码生成器 村美小站
- csv数据包是什么意思 csv数据包使用哪个软件导入
- 淘宝官方数据分析工具 淘宝指数官方网站
- 如何用公式拆分单元格数据 Excel表格拆分公式
- 国内代理ip地址 免费 在线代理ip地址
- Android数据库框架对比 Android数据库框架更换
- sql server恢复挂起原因 sql server数据库恢复挂起的解决办法
- 数据可视化界面设计 可视化ui界面设计软件
- excel数据对比软件 如何用excel对比数据
- mysql误删表怎么恢复 mysql删除表如何恢复数据