-
Notifications
You must be signed in to change notification settings - Fork 199
Turn on emit-module-separately for whole-module builds by default #922
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
Scheduling a separate emit-module job for whole-module builds, combined with the integrated driver in the build system, will allow to parallelize what used to be essentially sequential builds. This mode unblocks building dependents early by duplicating some work in two processes, it requires more cpu work for a faster wall clock build time. Another advantage of this mode is the resulting swiftmodule is lighter from a classic whole-module build. rdar://85976762
I put this up as is to run tests. I expect this to break a lot of tests, here and in the compiler. @swift-ci Please test |
@swift-ci Please test |
@swift-ci Please test |
More tests are failing this time, it's a good sign. The first version scheduled the separate emit-module job only when the |
3e2658d
to
e0db4cb
Compare
@swift-ci Please test |
e0db4cb
to
d887353
Compare
@swift-ci Please test |
The tests look good here and on the compiler side. I think this is ready for review! |
🚢 |
Scheduling a separate emit-module job for whole-module builds, combined with the integrated driver in the build system, will allow to parallelize what used to be essentially sequential builds. This mode unblocks building dependents early by duplicating some work in two processes, it requires more cpu work for a faster wall clock build time. Another advantage of this mode is the resulting swiftmodule is lighter from a classic whole-module build.
rdar://85976762