Skip to content
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

[core] optimize and improve decorations #6146

Open
vince-fugnitto opened this issue Sep 9, 2019 · 0 comments
Open

[core] optimize and improve decorations #6146

vince-fugnitto opened this issue Sep 9, 2019 · 0 comments
Labels
enhancement issues that are enhancements to current functionality - nice to haves problems issues related to the problems widget

Comments

@vince-fugnitto
Copy link
Member

Description

Based on the #6132 (comment)

The rendering of decorations throughout the application can be improved and optimized in order to reduce the total amount of renders required while consequently improving performance.
At the moment, decorations are quite costly as there are unecessary rendering present.

One such costly decoration are decorations contributed by problems, @akosyakov had an idea:

I had an idea to keep in ProblemManager:

  • a mapping between uri -> stat (count of warnings, errors, infos)
  • and total stat
    So when a change event happens we update a single stat by uri and then update a total stat by subtracting previous uri stat and adding new uri stat. So we can update problem stat in the status bar very fast, maybe even without any debouncing like now. It would require testing with many diagnostics though again, i.e. as in Dart extension support PR.

If we would also add an event like onDidStatChanged(uri), then we could change ProblemTabBarDecorator based on uri stats instead of changes to markers directly and decorate title also very fast by retrieving a uri stat and checking how many errors or warnings it has (so traversing happens only once to compute stat for a uri, not by each client on each request).

@vince-fugnitto vince-fugnitto added enhancement issues that are enhancements to current functionality - nice to haves problems issues related to the problems widget labels Sep 9, 2019
vince-fugnitto added a commit that referenced this issue Sep 12, 2019
Fixes #6146

- Removed `appveyor.yml` file
- Replaced the `appveyor.yml` file with new windows sections in the `.travis.yml` file

Signed-off-by: Vincent Fugnitto <vincent.fugnitto@ericsson.com>
vince-fugnitto added a commit that referenced this issue Sep 12, 2019
Fixes #6146

- Removed `appveyor.yml` file
- Replaced the `appveyor.yml` file with new windows sections in the `.travis.yml` file

Signed-off-by: Vincent Fugnitto <vincent.fugnitto@ericsson.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement issues that are enhancements to current functionality - nice to haves problems issues related to the problems widget
Projects
None yet
Development

No branches or pull requests

1 participant