static void Main(string[] args) { if (args.Any(a => a.Contains("debug")) || System.Diagnostics.Debugger.IsAttached) { const string puzzle = currentPuzzle; SolveDebug(puzzle); } else { var fileName = "top100.txt"; if (args.Length > 0) { fileName = args[0]; } var puzzles = File.ReadAllLines(fileName).Select(p => Puzzle.FromString(p)).ToList(); Console.WriteLine("Warmup run:"); SolveMany(puzzles, parallel: false); Benchmark("No parallelism", puzzles, false); // Benchmark("With parallelism", puzzles, true); } }