gh-137403: Pass auto to -flto with gcc to parallelize LTO build on linux #137404
+1
−1
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.
Currently when building CPython with loto (./configure --with-lto) on linux with gcc gives a number of similar warnings:
lto-wrapper: warning: using serial compilation of 70 LTRANS jobs
lto-wrapper: note: see the ‘-flto’ option documentation for more information
To fix this pass the -flot=auto to allow gcc to run the lto jobs in parallel. If no value is passed the default in 1 at a time.
The ability to pass auto goes back goc at least gcc 10 [1].
A similar change can be made on Darwin, but did not make that change without testing.
This significantly speeds up the build process when using lto (dependent on the number of cores available).
[1] https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html