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"); } }
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); }