forked from twitter/pants
-
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.
Improve Noop resolution performance (pantsbuild#6577)
### Problem In preparation for remote execution, pantsbuild#6544 introduced many calls to `capture_snapshots`, which added a significant overhead to coursier fetching. ### Solution A partial solution is to unify all the snapshot capturing into a single call to `capture_snapshots`. ### Result - Both coursier and ivy resolvers now make a single call to `capture_snapshots`, which reduced the overhead somewhat, though not completely. The synchronous call to `capture_snapshots` adds a 4-5 seconds of overhead to fetching from coursier on a relatively big project. A solution is discussed in a separate comment, below. **EDIT** This is not true anymore, it was a faulty measurement on my part: > > These are the noop measured times in my laptop. They all clean all and reset the daemon after every run: > ``` > Measured execution time: 73s for commit 46e9dd9 (this pr) > Measured execution time: 96s for commit 6268a77 (master with the regression) > Measured execution time: 38s for commit f60c40a (master straight before the regression) > ``` - Separate test cases to cover ivy and coursier resolution (coursier wasn't covered before). - The test cases now include 2 3rdparty dependencies, to cover for a logic bug introduced while developing this. ### Acknowledgements Credit to @dotordogh for pairing on the issue and coming up with the final fix.
- Loading branch information
1 parent
fd7c2ee
commit d86c3cc
Showing
5 changed files
with
123 additions
and
24 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
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
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