Draft
Conversation
3776823 to
104fa00
Compare
cb4c182 to
96000ee
Compare
`actions/upload-artifact` uploads a zip archive and applies default zlib compression level 6 to files by default. The uploaded PBS distribution artifacts are already zstd compressed. zlib compression will achieve nothing and waste CPU cycles on both upload and download. Disable compression on these artifacts. I audited all uses of `actions/upload-artifact` and confirmed that compression is disabled when appropriate (it was already disabled on the container image artifacts, which are also zstd compressed).
A couple of tests appear to have race conditions on freethreaded builds on machines with a sufficient number of CPU cores. (These feel like CPython bugs, which I will report later.) We disable these tests during PGO training as a workaround.
154dafb to
7aaaaf2
Compare
To test how fast CI can go.
Default runners have 2 CPUs. We can achieve a nice speed-up (but not quite linear) by leveraging runners with more CPUs.
Docker on aarch64 macOS will automagically virtualize x86-64 containers if containers are spawned with `platform=linux/amd64`. Performance of spawned containers is a bit slower than native, but not horrible. This functionality means it is viable to develop Linux x86-64 from modern Apple hardware. This commit teaches the build system to support cross-compiling Linux x86-64 from macOS aarch64. Implementing this wasn't too difficult: we need to pass `platform` into Docker's APIs for building and creating containers. We need to teach code to resolve the effective host platform when this scenario is detected. And we need to advertise support for cross-compiling in the `targets.yml` file. In case you are wondering, yes, a similar solution could be employed for Linux too by using emulation. But this requires Docker be configured to support emulation, which isn't common. Rosetta on macOS "just works" and is therefore the lowest hanging fruit to implement.
7aaaaf2 to
bb0818e
Compare
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.
Still a draft. Assessing how much effort it is to run the stdlib test suite in CI.