Improve Python uninstall perf by removing unnecessary call to installations.find_all()#14180
Merged
Improve Python uninstall perf by removing unnecessary call to installations.find_all()#14180
installations.find_all()#14180Conversation
jtfmumm
commented
Jun 21, 2025
| // Report on any uninstalled installations. | ||
| if !uninstalled.is_empty() { | ||
| if let [uninstalled] = uninstalled.as_slice() { | ||
| if let Some(first_uninstalled) = uninstalled.first() { |
Contributor
Author
There was a problem hiding this comment.
The destructuring approach no longer works now that this is an IndexSet instead of a Vec.
12253b5 to
4bfcc89
Compare
Gankra
approved these changes
Jun 23, 2025
Contributor
|
Nice catch! |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
#13954 introduced an unnecessary slow-down to Python uninstall by calling
installations.find_all()to discover remaining installations after an uninstall. Instead, we can filter all initial installations against those inuninstalled.As part of this change, I've updated
uninstalledfrom aVecto anIndexSetin order to do efficient lookups in the filter. This required a change I call out below to how we were retrieving them for messaging.