Separate objective-c indexstore units and records by objc_library #79
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.
This behavior is similar to swift_library: https://github.com/bazelbuild/rules_swift/blob/master/swift/internal/derived_files.bzl#L66 (See its invocation of
actions.declare_directory
from_indexstore_directory
.)We observed an issue where it took a long time for index-import to remap bazel-generated indexstores. The slowdown was actually a result of the fact that all objective-c indexstores were being placed in the same .indexstore directory. When we broke them apart by objective-c library, things got considerably faster. Before these changes, it took 3 minutes to remap for a larger project, but now it takes 3 seconds.
There is an alternative approach we can take. This approach has been taken by Brentley here: MobileNativeFoundation/index-import#46 This PR is open right now, but once it lands, we can consider it, if we still see performance issues.