Skip to content

Conversation

@artemcm
Copy link
Contributor

@artemcm artemcm commented Dec 15, 2025

In 'resolveSwiftOverlayDependencies', instead of calling into 'resolveImportedModuleDependencies' for every newly-discovered Swift overlay dependency, gather all collecected overlay dependencies under one umbrella dummy query module and execute a single call into 'resolveImportedModuleDependencies' which will cover all of them.

With this change, we not only lookup all the various Swift module overlays' imports in parallel, but also all of their aggregate respective Clang dependencies are queried in one shot as well.

In 'resolveSwiftOverlayDependencies', instead of calling into 'resolveImportedModuleDependencies' for every newly-discovered Swift overlay dependency, gather all collecected overlay dependencies under one umbrella dummy query module and execute a single call into 'resolveImportedModuleDependencies' which will cover all of them.

With this change, we not only lookup all the various Swift module overlays' imports in parallel, but also all of their aggregate respective Clang dependencies are queried in one shot as well.
@artemcm
Copy link
Contributor Author

artemcm commented Dec 15, 2025

@swift-ci test

Copy link
Contributor

@cachemeifyoucan cachemeifyoucan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Nit for future review. There are some big blocks of renames and simple NFCs in this PR. Try put in them in separate commits so it is easy to spot functional changes.

@artemcm artemcm enabled auto-merge December 15, 2025 23:55
@jamieQ
Copy link
Contributor

jamieQ commented Dec 16, 2025

out of curiosity – would this change be expected to improve the build performance for a target that contains minimal source code, but a large number of transitive dependencies (e.g. in the thousands)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants