文章插圖

文章插圖
起因
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刪除表如何恢復數據
