forked from bazelbuild/bazel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The following optimizations reduce the time spent writing the repo mapping manifest from >6s to <80ms for a test referencing each of ~4,000 repos created by a module extension: * The set of repository names appearing in runfiles paths is only constructed once rather than for each repo by moving the `build()` call out of a closure. * The relevant entries per repository are now sorted after filtering out those for repos that don't contribute runfiles. * Crucially, the relevant mapping entries per repository are now cached per instance of `RepositoryMapping#entries()`. Since extension repos all share the same instance due to interning, this reduces the complexity from quadratic to linear in the number of extension repos. Closes bazelbuild#20091. PiperOrigin-RevId: 581128978 Change-Id: I946e7788b8538e84714cf25ece89a86edd0d6948
- Loading branch information
1 parent
19c73bc
commit 305ab3b
Showing
2 changed files
with
83 additions
and
46 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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