Exemplo n.º 1
0
        static void Main(string[] args)
        {
            if (true)
            {
                var switcher = new BenchmarkSwitcher(new[] {
                    typeof(Simplex_1_Scalar),
                    typeof(Simplex_4_Sse2),
                    typeof(Simplex_8_Avx2),

                    typeof(OpenSimplex2_1_Scalar),
                    typeof(OpenSimplex2_4_Sse2),
                    typeof(OpenSimplex2_8_Avx2),
                });

                switcher.RunAllJoined(new Config());
            }

            if (false)
            {
                var microBenchSwitcher = new BenchmarkSwitcher(new[] {
                    typeof(InvSqrt)
                });

                microBenchSwitcher.RunAllJoined(new MicroBenchConfig());
            }
        }
Exemplo n.º 2
0
        public static void RunBenchmarkDotNet(bool allTests)
        {
            Console.Clear();

            var benchmarks = new BenchmarkSwitcher(new[] {
                typeof(BasicTest),
                typeof(ComplexTest),
                typeof(IntenseTest),
                typeof(CustomTest),
                typeof(FlatteningTest)
            });

            if (allTests)
            {
                benchmarks.RunAllJoined();
                return;
            }

            benchmarks.Run();
        }
Exemplo n.º 3
0
        public static void Main(string[] args)
        {
            //var benchmark = new Benchmark();
            //benchmark.Setup();
            //benchmark.Cancellation();
            //benchmark.Cleanup();
            //return;

            //BenchmarkRunner.Run<ComplexReturnBenchmark>();
            //return;

            var switcher = new BenchmarkSwitcher(
                typeof(Program).Assembly
                .GetTypes()
                .Where(p => typeof(BenchmarkBase).IsAssignableFrom(p) && !p.IsAbstract)
                .ToArray()
                );

            switcher.RunAllJoined();
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            Type            typeToTest     = GetTypeToTest();
            List <TypeInfo> benchmarkTypes = Assembly.GetExecutingAssembly()
                                             .DefinedTypes
                                             .Where(t => t.ImplementedInterfaces.Contains(typeToTest))
                                             .ToList();

            List <IBenchmark> benchmarks = benchmarkTypes
                                           .Select(bt => (IBenchmark)Activator.CreateInstance(bt))
                                           .ToList();

            while (true)
            {
                Console.WriteLine("Test Options");
                for (int i = 0; i < benchmarks.Count; i++)
                {
                    Console.WriteLine($"\t{i}) {benchmarks[i].Name}");
                }
                Console.WriteLine($"\t{benchmarks.Count}) All");
                Console.Write("Select Benchmark: ");
                string input = Console.ReadLine();
                if (int.TryParse(input, out int benchmarkIndex))
                {
                    if (benchmarkIndex == benchmarks.Count)
                    {
                        var bs = new BenchmarkSwitcher(benchmarks.Select(b => b.GetType()).ToArray());
                        bs.RunAllJoined();
                    }
                    else
                    {
                        var summary = BenchmarkRunner.Run(benchmarks[benchmarkIndex].GetType());
                    }
                }
                else
                {
                    return;
                }
            }
        }