Repository navigation
mutate: every test process held to its share of the cores - #13
Merged
Merged
Conversation
A test binary took every core, and each of its t.Parallel tests too: four control-plane edits asked at once were nineteen processes running and a load of 24 on a 20-core machine, on a fraction of its CPU. GOMAXPROCS is the cores over -j, for coverage, a schema binary and an edit built alone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Each test process mutate starts - measuring coverage, asking a schema binary, building an edit alone - now runs with
GOMAXPROCS= cores /-j(at least 1). A test binary took every core, and so did each of itst.Paralleltests: that is what saturated the build machine, not the work itself.Measured on spin's 5c3b5a8a (295 edits, control-plane
appandcmd, whose tests start a control plane against PostgreSQL), 20-core machine, warm cache,nice -n 19:Same outcomes (163 refused, 123 survived, 9 unbuildable). On 6e5ce8e9 and 29e72cf8 at -j 10: 33s and 1m7s, load under 8.
Also tried and dropped: asking an edit's cheapest tests first (by the time coverage measured). No measurable change on the same three commits (1m57s→1m58s, 33s→34s, 1m7s→1m1s) and 20% more processes: killed edits already stop at the first failure, and survivors run every reaching test whatever the order.
task test,task lint,mutate(-j 2): green.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.