Beispiel #1
0
        public static ManualConfig GetManualConfig_Net472_CoreRt31_DotNet50_64_backup()
        {
            ManualConfig config = GetManualConfigDefault();

            config.AddJob(Job.Default
                          .WithRuntime(ClrRuntime.Net472)
                          .WithPlatform(Platform.X64)
                          .WithGcServer(true)
                          .WithId("Net472")

                          );

            config.AddJob(Job.Default
                          .WithRuntime(CoreRuntime.Core31)
                          .WithPlatform(Platform.X64)
                          .WithGcServer(true)
                          .WithId("CoreRt31")

                          );

            config.AddJob(Job.Default
                          .WithRuntime(CoreRuntime.Core50)
                          .WithPlatform(Platform.X64)
                          .WithGcServer(true)
                          .WithId("CoreRt50")
                          );

            return(config);
        }
Beispiel #2
0
        public static ManualConfig GetManualConfig_Net472_CoreRt31_DotNet50_64()
        {
            ManualConfig config = GetManualConfigDefault();

            config.AddJob(Get_Job_DotNet_Legacy_472());
            config.AddJob(Get_Job_DotNet_Core_31());
            config.AddJob(Get_Job_DotNet_50());
            return(config);
        }
Beispiel #3
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 #4
0
        public static ManualConfig GetManualConfig_Default_Job()
        {
            ManualConfig config = GetManualConfigDefault();

            config.AddJob(Job.Default.WithGcServer(true));
            return(config);
        }
Beispiel #5
0
        // No exporter, less verbose logger.
        public static IConfig GetCustomConfig(string artifactsPath, bool shortRunJob)
        {
            var defaultConfig = DefaultConfig.Instance;

            var config = new ManualConfig();

            config.AddAnalyser(defaultConfig.GetAnalysers().ToArray());
            config.AddColumnProvider(defaultConfig.GetColumnProviders().ToArray());
            config.AddDiagnoser(defaultConfig.GetDiagnosers().ToArray());
            //config.AddExporter(defaultConfig.GetExporters().ToArray());
            config.AddFilter(defaultConfig.GetFilters().ToArray());
            config.AddHardwareCounters(defaultConfig.GetHardwareCounters().ToArray());
            //config.AddJob(defaultConfig.GetJobs().ToArray());
            config.AddLogicalGroupRules(defaultConfig.GetLogicalGroupRules().ToArray());
            //config.AddLogger(defaultConfig.GetLoggers().ToArray());
            config.AddValidator(defaultConfig.GetValidators().ToArray());

            config.UnionRule = ConfigUnionRule.AlwaysUseGlobal;

            if (shortRunJob)
            {
                config.AddJob(Job.ShortRun);
            }

            config.ArtifactsPath = artifactsPath;

            config.AddLogger(new ConsoleLogger_());

            return(config);
        }
Beispiel #6
0
        public static ManualConfig GetManualConfig_Net472_CoreRt31_X86()
        {
            ManualConfig config = GetManualConfigDefault();

            config.AddJob(Get_Job_DotNet_Legacy_472(runAsX64: false).AsBaseline(), Get_Job_DotNet_Core_31(runAsX64: false));

            return(config);
        }
Beispiel #7
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);
    }
Beispiel #8
0
        public NuGetConfigSourceAttribute(bool profileMemory = false)
        {
            // NOTE: The version of NuGet package referenced in this project should be <=
            // than every version in this array.
            const string BaselineVersion = "1.4.309";

            string[] versions =
            {
                BaselineVersion,
                "1.5.314",
            };
            Runtime[] runtimes =
            {
                ClrRuntime.Net472,
                CoreRuntime.Core31
            };

            ManualConfig config = ManualConfig.CreateEmpty();

            foreach (Runtime runtime in runtimes)
            {
                foreach (string version in versions)
                {
                    bool baseline = (version == BaselineVersion && runtime == ClrRuntime.Net472);
                    config.AddJob(createJob("BitMiracle.LibJpeg.NET", version, runtime, baseline));
                }
            }

            if (profileMemory)
            {
                config.AddDiagnoser(MemoryDiagnoser.Default);
                config.AddDiagnoser(new NativeMemoryProfiler());
            }

            Config = config;
        }