From c17a364b5197021022bf21f62dafdc48a366d2bd Mon Sep 17 00:00:00 2001 From: Matistjati Date: Sat, 10 Jan 2026 22:15:59 +0100 Subject: [PATCH 1/2] Only compile multithread compile submissions actually used by -s --- problemtools/verifyproblem.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/problemtools/verifyproblem.py b/problemtools/verifyproblem.py index 330ee41a..459b5f74 100644 --- a/problemtools/verifyproblem.py +++ b/problemtools/verifyproblem.py @@ -1853,10 +1853,12 @@ def fully_accepted(self, result: SubmissionResult) -> bool: def start_background_work(self, context: Context) -> None: # Send off an early background compile job for each submission and # validator, to avoid a bottleneck step at the start of each test run. - self.problem.output_validators.start_background_work(context) - for acr in self._submissions: + for verdict in Submissions._VERDICTS: + acr = verdict[0] for sub in self._submissions[acr]: - context.submit_background_work(lambda s: s.compile(), sub) + sub_name = sub.name # type: ignore + if context.submission_filter.search(os.path.join(verdict[1], sub_name)): + context.submit_background_work(lambda s: s.compile(), sub) def _compute_time_limit(self, fixed_limit: float | None, lower_bound_runtime: float | None) -> tuple[float, float]: if fixed_limit is None and lower_bound_runtime is None: From 77128aa71e09c1fe420ed9871e04e41f015813b4 Mon Sep 17 00:00:00 2001 From: Matistjati Date: Fri, 16 Jan 2026 09:24:17 +0100 Subject: [PATCH 2/2] Add back multithreaded output validator compilation --- problemtools/verifyproblem.py | 1 + 1 file changed, 1 insertion(+) diff --git a/problemtools/verifyproblem.py b/problemtools/verifyproblem.py index 459b5f74..ccd09ef8 100644 --- a/problemtools/verifyproblem.py +++ b/problemtools/verifyproblem.py @@ -1853,6 +1853,7 @@ def fully_accepted(self, result: SubmissionResult) -> bool: def start_background_work(self, context: Context) -> None: # Send off an early background compile job for each submission and # validator, to avoid a bottleneck step at the start of each test run. + self.problem.output_validators.start_background_work(context) for verdict in Submissions._VERDICTS: acr = verdict[0] for sub in self._submissions[acr]: