Repository navigation
perf(CI-05): bound concurrent browser conformance workers - #751
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Browser conformance previously awaited every fresh worker sequentially. A bounded pool now overlaps two independent workers while preserving input-order results, the existing 10-second per-case deadline, and cleanup on success, worker errors, serialization errors, construction/post failures and timeouts. Set POCKET_PYTHON_BROWSER_WORKERS=1–8 to compare another bound. No profile, driver or case is removed.
Local CPython 3.14.7/macOS arm64 Chromium benchmark, full 1,741-case exceptions corpus: 1 worker 101.942s; 2 workers 56.267s; 4 workers 33.772s; 8 workers 28.077s. All ordered results, resource counters and teardown observations matched exactly. Two is the conservative default pending Linux runner observations. The committed benchmark command supports repeated comparisons and a JSON report.
Validation: three focused worker-pool tests, 13 Python runner/reference tests, unchanged engine lock and real-browser differential comparison at all four pool sizes.
#750 is merged. Closes #747.
Batch verification: all 16 regression jobs pass in run 41424015512 on descendant #752, which includes this complete worker implementation. The parent reconciliation changes history and resolves only an overlapping documentation insertion. The earlier run completed all 99 interpreter-shard-3 checks and every upload/cleanup step before the overall job deadline marked it cancelled; complete passing descendant coverage supersedes that job status.