private static void RunAndPrint <T>(string name) { var r = BenchmarkConverter.TypeToBenchmarks(typeof(T), new C(name)); var ass = AppDomain.CurrentDomain.GetAssemblies().First(k => k.FullName.Contains("HybridLock")); var version = ass.GetCustomAttribute <AssemblyFileVersionAttribute>().Version; var result = BenchmarkRunnerCore.Run(r, _ => new InProcessToolchain(false)); foreach (var c in MarkdownExporter.GitHub.ExportToFiles(result, BenchmarkDotNet.Loggers.ConsoleLogger.Default)) { var path = Path.GetFullPath($"Benchmarks//{name}_{version}.md"); System.IO.File.Move(c, path); ConsoleLogger.Default.WriteLine($"results at {path}"); } foreach (var c in HtmlExporter.Default.ExportToFiles(result, BenchmarkDotNet.Loggers.ConsoleLogger.Default)) { var path = Path.GetFullPath($"Benchmarks//{name}_{version}.html"); System.IO.File.Move(c, path); ConsoleLogger.Default.WriteLine($"results at {path}"); } var exp = new BenchmarkDotNet.Exporters.Csv.CsvExporter(BenchmarkDotNet.Exporters.Csv.CsvSeparator.Semicolon); foreach (var c in exp.ExportToFiles(result, BenchmarkDotNet.Loggers.ConsoleLogger.Default)) { var path = Path.GetFullPath($"Benchmarks//{name}_{version}.csv"); System.IO.File.Move(c, path); ConsoleLogger.Default.WriteLine($"results at {path}"); } }
public C(string group) { var exp = new BenchmarkDotNet.Exporters.Csv.CsvExporter(BenchmarkDotNet.Exporters.Csv.CsvSeparator.Semicolon); Add(Job.Core.WithInvocationCount(96 * 2).WithLaunchCount(3).WithAnalyzeLaunchVariance(true)); Add(DefaultConfig.Instance.GetLoggers().ToArray()); Add(TargetMethodColumn.Method); Add(DefaultColumnProviders.Params); var ass = AppDomain.CurrentDomain.GetAssemblies().First(k => k.FullName.Contains("HybridLocks")); var version = ass.GetCustomAttribute <AssemblyFileVersionAttribute>().Version; Add(new DataColumn("Version", version)); Add(new DataColumn("Group", group)); Add(StatisticColumn.Mean, StatisticColumn.Error); }