-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Reduce builder size of jobs that take less than an hour #124985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
rustbot has assigned @Mark-Simulacrum. Use |
This comment has been minimized.
This comment has been minimized.
Hmm I would be careful. If we make it slower/reduce to 4 cores, we get to know about the same test failure 60 or 50 minutes after start instead of 30, which means CI runs now |
That's a reasonable concern. One thing to note is that halving the core count doesn't double the time that it takes to run the build - I was seeing regressions closer to 25-50% (although if you want to do a But, yes, it's reasonable to expect that if there were a failure in one of these jobs we may see it 5-20mins later than previously. Looking at the rust-lang-ci queue for the |
@bors r+ This seems broadly reasonable, and we can always revert if it gives us significant problems. |
☀️ Test successful - checks-actions |
Finished benchmarking commit (44d679b): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary -4.4%, secondary -2.1%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (secondary -3.5%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 670.321s -> 671.145s (0.12%) |
The current longest build time is ~2hr for the
dist-x86_64-linux-alt
build. This is already on a 16-core builder, so we can't make it any faster (by throwing more hardware at it).Given that overall build times will be at least 2hrs, we can reduce build costs by reducing the builder size for any job that takes less than 1hr since it will still complete before
dist-x86_64-linux-alt
does.Note that scaling isn't linear, halving the core count increases end-to-end build times by about 25-50%. In this sample build
arm-android
went from ~52m to 1h 5m anddist-arm-linux
went from ~55m to 1h 17m (then failed due to missing metrics).Current job builder sizes and times and proposed new sizes: