-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature/improve-navigator-ordering #244
base: develop
Are you sure you want to change the base?
Conversation
…parition, because they are only defined when calculating distances between 2 complexes otherwise
These are extremely rare conditions though, as you need to have different complexes having the same amount of component shared with another one, but not the same components. Here for instance all components have a first index of 0, so then they are all compared based on the timeAppearing, but they are all appearing only 2 times, so they are considered equal by our sorting algorithm, and therefore don't get sorted between one another. Therefore, I think the proposed solution is better, but I don't know if it's worth a 20% increase of compute time, what do you think @jmedinaebi ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a couple of minor comments.
...mplex-navigator/table-structure/table-interactor-column/table-interactor-column.component.ts
Outdated
Show resolved
Hide resolved
...mplex-navigator/table-structure/table-interactor-column/table-interactor-column.component.ts
Show resolved
Hide resolved
@@ -292,6 +289,7 @@ export class TableInteractorColumnComponent { | |||
} | |||
} | |||
} | |||
return navigatorComponents; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this method, we are updating this.navigatorComponents()
and also returning and setting the returned value to navigatorComponentsTA()
, so this.navigatorComponents()
and navigatorComponentsTA()
are equals. We should treat this.navigatorComponents()
as immutable, creating a new array and returning the new array.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, are we not using navigatorComponentsTA
in the HTML at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just pushed a change for renaming navigatorComponentsTA
and also to use the new variable instead of navigatorComponents
.
I have pushed a new commit to show the loading spinner when the user makes a new query, instead of just showing the old results until the new ones come in. I have deployed my changes (this and the previous commit) to the github pages. I have also restarted Complex-WS and SOLR in the public instances to see if that improves things, as queries were being slow this morning. |
...mplex-navigator/table-structure/table-interactor-column/table-interactor-column.component.ts
Outdated
Show resolved
Hide resolved
...mplex-navigator/table-structure/table-interactor-column/table-interactor-column.component.ts
Outdated
Show resolved
Hide resolved
…ng' into feature/improve-navigator-ordering
… timesAppearing and indexAppearing when they are available, which is after some compute
…ents when really needed, + call search API when really needed + trigger loader whenever we actually request things, instead of relying on data
#d388b28 Is really important because I realised every time we update the display options or the sorting or grouping, we were triggering a new search API call, which was making everything slow. Thanks to this one, we now send requests only when an actual parameter of the search has changed. Also make sures that we only triggers the preparation of components and the sorting when actually needed, not whenever you change something. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few comments on the latest changes.
Fix 2 problems:
Also improve sorting of components when similar timesAppearing and similar first index appearing.
This improvement needs to be discussed and reviewed because it is significantly longer (+17,52% compute time for a relatively big example (20 complexes x 272 components, still marginal time though from 7ms to 8,5ms)
See comparison at https://docs.google.com/spreadsheets/d/1oG9kVww2F1s5U2EjoataKmOiVaY4yx4dXloqJJGqBAc/edit?usp=sharing