public static void AddDefaultColumns(ManualConfig config)
        {
            config.AddColumn(FixedColumn.VersionColumn);
            config.AddColumn(FixedColumn.OperatingSystemColumn);
            config.AddColumn(FixedColumn.DateTimeColumn);
            config.AddColumn(new EnvironmentVariableColumn("SystemTag", "SYSTEM_TAG"));

            config.AddExporter(MarkdownExporter.GitHub);
            config.AddExporter(new CsvExporter(CsvSeparator.Comma, ConfigHelper.CsvStyle));
        }
Beispiel #2
0
        public static void Main(string[] args)
        {
            var types = typeof(Program)
                        .Assembly
                        .GetExportedTypes()
                        .Where(r => r != typeof(Program) && r.IsPublic)
                        .OrderBy(r => r.Name);

            var job    = Job.Default;
            var config = new ManualConfig();

            config.AddLogger(DefaultConfig.Instance.GetLoggers().ToArray());
            config.AddExporter(DefaultConfig.Instance.GetExporters().ToArray());
            config.AddColumnProvider(DefaultConfig.Instance.GetColumnProviders().ToArray());
            config.AddValidator(JitOptimizationsValidator.DontFailOnError);
            //config.AddJob(job.WithRuntime(ClrRuntime.Net461));
            //config.AddJob(job.WithRuntime(CoreRuntime.Core21));
            //config.AddJob(job.WithRuntime(CoreRuntime.Core31));
            config.AddJob(job.WithRuntime(CoreRuntime.Core50));
            config.AddDiagnoser(MemoryDiagnoser.Default);
            config.AddColumn(StatisticColumn.OperationsPerSecond);
            config.AddColumn(RankColumn.Arabic);

            var switcher = new BenchmarkSwitcher(types.ToArray());

            switcher.Run(args, config);
        }
Beispiel #3
0
        public static void Main(string[] args)
        {
            var config = new ManualConfig();

            config.AddExporter(DefaultConfig.Instance.GetExporters().ToArray());
            config.AddLogger(DefaultConfig.Instance.GetLoggers().ToArray());
            config.AddColumnProvider(DefaultConfig.Instance.GetColumnProviders().ToArray());
            config.AddColumn(new ThroughputColumn("MBps"));

            BenchmarkRunner.Run <MurMur3Benchmark>(config);
        }
Beispiel #4
0
        public static ManualConfig GetManualConfigDefault()
        {
            ManualConfig config = ManualConfig.CreateEmpty();

            //https://benchmarkdotnet.org/articles/configs/diagnosers.html
            config.AddDiagnoser(MemoryDiagnoser.Default);
            config.WithArtifactsPath(ArtifactsPath);
            config.AddExporter(DefaultExporters.Html);
            config.AddLogger(ConsoleLogger.Default);
            config.AddColumnProvider(DefaultColumnProviders.Instance);
            return(config);
        }
Beispiel #5
0
    static bool Run()
    {
        bool success = false;

        try
        {
            // NOTE: this is mostly working around bugs in BenchmarkDotNet configuration
            var logger     = new Logger();
            var baseConfig = new DebugInProcessConfig();

            var config = new ManualConfig();

            foreach (var e in baseConfig.GetExporters())
            {
                config.AddExporter(e);
            }
            foreach (var d in baseConfig.GetDiagnosers())
            {
                config.AddDiagnoser(d);
            }
            foreach (var a in baseConfig.GetAnalysers())
            {
                config.AddAnalyser(a);
            }
            foreach (var v in baseConfig.GetValidators())
            {
                config.AddValidator(v);
            }
            foreach (var p in baseConfig.GetColumnProviders())
            {
                config.AddColumnProvider(p);
            }
            config.AddJob(JobMode <Job> .Default.WithToolchain(new InProcessEmitToolchain(TimeSpan.FromMinutes(10), logOutput: true)));
            config.UnionRule = ConfigUnionRule.AlwaysUseGlobal;             // Overriding the default
            config.AddLogger(logger);

            // ImageBenchmark class is hardcoded here for now
            BenchmarkRunner.Run <ImageBenchmark>(config.WithOptions(ConfigOptions.DisableLogFile));
            BenchmarkRunner.Run <ViewHandlerBenchmark>(config.WithOptions(ConfigOptions.DisableLogFile));

            success = true;
        }
        catch (Exception ex)
        {
            Log.Error(Tag, $"Error: {ex}");
        }
        return(success);
    }