feat(benchmark): add --progress logging for engine solves

Long whole-job solves ran silently, so there was no way to tell a slow
engine from a hung one until the timeout fired. --progress hands each
solve a JobProgressLog that prints [job/engine] lines for start, finish
(or failure/timeout), every plate commit, and candidate evaluations
throttled to one line per 2 s so parallel runs stay readable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
aj
2026-09-25 14:03:10 -04:00
co-authored by Claude Opus 5.5
parent 695ccc0a3b
commit 23dd99fa2f
7 changed files with 193 additions and 7 deletions
+10 -1
View File
@@ -123,7 +123,8 @@ static class BenchmarkConsole
options.SalvageRate,
options.MinimumSalvageDimension,
options.OutputDirectory,
options.Parallel
options.Parallel,
options.Progress ? Console.Out : null
);
Report.PrintDetailed(results);
@@ -196,6 +197,10 @@ static class BenchmarkConsole
);
break;
case "--progress":
o.Progress = true;
break;
case "--help":
PrintUsage();
return null;
@@ -322,6 +327,9 @@ static class BenchmarkConsole
Console.Error.WriteLine(
" which gives the cleanest per-engine timings)"
);
Console.Error.WriteLine(
" --progress Log each solve's start, engine progress and finish"
);
Console.Error.WriteLine(" --help Show this message");
}
@@ -336,5 +344,6 @@ static class BenchmarkConsole
public double? SalvageRate;
public double? MinimumSalvageDimension;
public int Parallel = 3;
public bool Progress;
}
}