Cancel all current work with highlight refs when changes come in#52946
Merged
CyrusNajmabadi merged 16 commits intodotnet:release/dev16.10from Apr 27, 2021
Merged
Cancel all current work with highlight refs when changes come in#52946CyrusNajmabadi merged 16 commits intodotnet:release/dev16.10from
CyrusNajmabadi merged 16 commits intodotnet:release/dev16.10from
Conversation
dibarbet
approved these changes
Apr 27, 2021
Member
|
@CyrusNajmabadi this should probably target release/dev16.10 |
Contributor
Author
|
Done! |
Contributor
Author
|
@jinujoseph This needs m2 approval. My recent tagger speedup work did too good a job, and makes it so that some tags can appear too quickly (making it feel like things are flashy). So this restores a better feeling behavior here. We will want to take this for 16.10 as it can otehrwise be distracting and noisy. This change feels safe. |
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.
Highlight refs demonstrates a problem with some of the tagger cleanup that recently went in. Part of highlight refs is highly synchronous. Namely that we remove the tags on movement or edits immediately so that we don't show "stale" tags. This is problematic because the previous pr made it much more efficient to compute tags. So we could end up with clearing the tags and tehn very efficiently showing them again.
The fix here is in two parts. The first is that we make the delay for highlight refs closer to the perceived delay that we used to incur in the older less efficient system once we added up all the delays that used to have.
The second is that because we are clearign out the old values, we don't actually want the mode where we take the results we have and introduce them very soon after they're available. Instead, we explicitly attempt to cancel any computation work and only compute the results against the latest when new events come in. We initially had a batchign work queue for this. however, the batch was only ever up to two items (just to say if we were on the initial item on a subsequent item). because of that, it was just easier to go to simple task queuing to represent this concept of stopping the current set of work and just restarting the new computation
Manual testing in practice indicated that this feels good and non-distracting. With resutls still coming up in a reasonable amount of time, without it feeling aggressive.