using BenchmarkDotNet.Configs; using BenchmarkDotNet.Running; using Recyclable.Collections.Benchmarks; using Recyclable.Collections.Benchmarks.POC; internal class Program { static IConfig BenchmarkConfig { get; } = ManualConfig.Create(DefaultConfig.Instance).WithOptions(ConfigOptions.DisableOptimizationsValidator | ConfigOptions.JoinSummary); static void RunAssemblyBenchmarks() { _ = BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(new[] { "-f*" }); } private static void RunRecyclableCollectionsBenchmarks() { _ = BenchmarkRunner.Run(BenchmarkConfig); } static void RunSelectedBenchmarks() { // **************** // *** Template *** // **************** //var benchmark = new RecyclableCollectionsBenchmarks(); //benchmark.Setup(); //foreach (var _ in Enumerable.Range(1, 1000)) //{ //benchmark.RecyclableLongList_Remove_FirstItems(); //benchmark.RecyclableLongList_RemoveAt_LastItems(); //benchmark.List_RemoveAt_LastItems(); //} //benchmark.Cleanup(); } static void RunPocBenchmarks() { _ = BenchmarkRunner.Run(BenchmarkConfig); _ = BenchmarkRunner.Run(BenchmarkConfig); _ = BenchmarkRunner.Run(BenchmarkConfig); _ = BenchmarkRunner.Run(BenchmarkConfig); _ = BenchmarkRunner.Run(BenchmarkConfig); _ = BenchmarkRunner.Run(BenchmarkConfig); _ = BenchmarkRunner.Run(BenchmarkConfig); _ = BenchmarkRunner.Run(BenchmarkConfig); //ArraySizeLimitPocBenchmarks>(BenchmarkConfig); } private static void Main(string[] args) { RunRecyclableCollectionsBenchmarks(); // RunPocBenchmarks(); // RunSelectedBenchmarks(); //RunAssemblyBenchmarks(); } }