Open Aaron1011 opened 4 years ago
Note that Apple builders are in 2-core CPU.
I feel like this is way too vague to be useful, personally -- AFAIK, there's not much we can do and 2 hours builds are already pretty good (and other tooling, e.g., perf, would suffer from reduced build times).
The approved PR queue has been quite small as of late, too, so I'm personally not too worried by our CI times.
Perhaps this is less a CI issue and more a compiler performance issue generally...
Are build benchmarks very different on OS X vs other platforms? I use OS X and can report that compilation subjectively appears a bit slow (some fairly small projects can take minutes to compile from scratch), but I've never compared against other platforms and frankly don't have particularly powerful hardware—so my anecdote is as good as useless.
I believe all the linux/windows jobs were sped up primarily by moving to big computers. Because of limitations in running macOS in the cloud, I imagine that's much more challenging.
Is there anything we can do to scale up the Apple builds ?
This x86_64-apple
job has taken over three and a half hours so far (it's still making progress): https://github.com/rust-lang-ci/rust/runs/1333124216
Could crosscompiling for MacOS be a solution? Had thread with @Kobzol on Reddit regarding this. A couple solutions could be to:
This seems to still be an issue, the x86_64 Apple jobs are taking the longest in our CI (up to ~3 hours), and they're even split in two. The Aarch64 jobs are quicker (~1.5 hours): https://github.com/rust-lang-ci/rust/actions/runs/11803085512
@rustbot label O-macos
Looking at some most recent builds, it looks like the
x86_64-apple
family of jobs are usually the last to finish, and take significantly longer (over an hour) than certain other jobs. Speeding up these jobs could give us a nice win in build times.I don't know how much of the build time is under our control (e.g. running more work on these jobs vs other jobs), and how much is related to the Github Actions OS X builders being slower.