Ejemplo n.º 1
0
        public void RunBenchmark(GenerationInfo generationInfo)
        {
            EscapeTimeGenerator generator = new EscapeTimeGenerator(generationInfo, false);

            Console.WriteLine("Benchmarking...\n");
            Console.WriteLine("Threads\t|  Average duration");
            Console.WriteLine("----------------------------");
            for (int i = threadCounts.Length - 1; i >= 0; i--)
            {
                if (threadCounts[i] > generationInfo.resolution.y)
                {
                    continue;
                }
                long sum = 0;
                Console.Write($"  {threadCounts[i]}");
                for (int j = 0; j < benchmarkCount; j++)
                {
                    generator.Generate(threadCounts[i], out long result);
                    sum += result;
                }
                timers[i] = sum / benchmarkCount;

                Console.WriteLine($"\t|\t{timers[i]}ms");
            }
        }
Ejemplo n.º 2
0
        static double[,] GetGeneratedImage(GenerationInfo generationInfo, int threads, bool verbose)
        {
            Console.WriteLine("Generating mandelbrot set...");

            EscapeTimeGenerator gen = new EscapeTimeGenerator(generationInfo, verbose);
            var img = gen.Generate(threads, out long milliseconds);

            Console.WriteLine($"Finished in {milliseconds} milliseconds.");

            return(img);
        }