[FIX] owhierarchicalclustering: Fix performance on deselection#2670
Merged
jerneju merged 1 commit intobiolab:masterfrom Oct 12, 2017
Merged
[FIX] owhierarchicalclustering: Fix performance on deselection#2670jerneju merged 1 commit intobiolab:masterfrom
jerneju merged 1 commit intobiolab:masterfrom
Conversation
Contributor
|
Hmm, it is still very slow (I can't really tell the difference in time, it just feels very long). You can say it can't be done, that's fine. I just noticed this when working on a 33180 x 149 data set. |
jerneju
approved these changes
Oct 12, 2017
Contributor
|
@ales-erjavec Please restart Travis and AppVeyor. |
The code had quadratic time complexity in the number of deselected items. Fixed by a more judicious placement of calls to `_re_enumerate_selections`
a80dd96 to
c893c85
Compare
Codecov Report
@@ Coverage Diff @@
## master #2670 +/- ##
==========================================
+ Coverage 75.5% 75.51% +0.01%
==========================================
Files 332 332
Lines 58014 58014
==========================================
+ Hits 43803 43810 +7
+ Misses 14211 14204 -7 |
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.
Issue
The widget is slow to respond when the selection is changed in such a way that the number of groups diminishes significantly.
Example:
File (vehicle.tab) -> Distances (Euclidean) -> Hierarchical clustering (Average)
In the Selection box select and set Height ratio: 0.1%. Switch between that and Top N: 3 Going from Height ratio to top N is significantly slower then the other way.
Description of changes
The code (
set_selected_items) had quadratic time complexity in the number of deselected items.Fixed by a more judicious placement of calls to
_re_enumerate_selectionsIncludes