rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
98.61k stars 12.74k forks source link

Investigate speeding up `x86_64-apple` jobs #75335

Open Aaron1011 opened 4 years ago

Aaron1011 commented 4 years ago

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.

tesuji commented 4 years ago

Note that Apple builders are in 2-core CPU.

Mark-Simulacrum commented 4 years ago

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.

eggyal commented 4 years ago

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.

alex commented 4 years ago

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.

pwnorbitals commented 4 years ago

Is there anything we can do to scale up the Apple builds ?

Aaron1011 commented 4 years ago

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

TobiasDeBruijn commented 2 years ago

Could crosscompiling for MacOS be a solution? Had thread with @Kobzol on Reddit regarding this. A couple solutions could be to:

Link to the thread

madsmtm commented 4 days ago

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