private void RunBenchmarks(string[] args)
 {
     for (int i = 0; i < Types.Length; i++)
     {
         var type = Types[i];
         if (args.Any(arg => type.Name.ToLower().StartsWith(arg.ToLower())) || args.Contains("#" + i) || args.Contains("" + i) || args.Contains("*"))
         {
             logger.WriteLineHeader("Target competition: " + type.Name);
             List<BenchmarkReport> reports;
             using (var logStreamWriter = new StreamWriter(type.Name + ".log"))
             {
                 var loggers = new IBenchmarkLogger[] { new BenchmarkConsoleLogger(), new BenchmarkStreamLogger(logStreamWriter) };
                 var runner = new BenchmarkRunner(loggers);
                 reports = runner.Run(type).ToList();
             }
             MarkdownReportExporter.Default.SaveToFile(reports, type.Name + "-report.md");
             CsvReportExporter.Default.SaveToFile(reports, type.Name + "-report.csv");
             logger.NewLine();
         }
     }
     if (args.Length > 0 && (args[0].StartsWith("http://") || args[0].StartsWith("https://")))
     {
         var url = args[0];
         Uri uri = new Uri(url);
         var name = uri.IsFile ? Path.GetFileName(uri.LocalPath) : "URL";
         using (var logStreamWriter = new StreamWriter(name + ".log"))
         {
             var loggers = new IBenchmarkLogger[] { new BenchmarkConsoleLogger(), new BenchmarkStreamLogger(logStreamWriter) };
             var runner = new BenchmarkRunner(loggers);
             runner.RunUrl(url);
         }
     }
 }
Example #2
0
 static void Main(string[] args)
 {
     var runner = new BenchmarkRunner();
     runner.Run<BenchGenericDeserialize>();
 }