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

Poor Performance of Type Hierarchy View #3

Open
HeikoKlare opened this issue Jun 26, 2023 · 0 comments
Open

Poor Performance of Type Hierarchy View #3

HeikoKlare opened this issue Jun 26, 2023 · 0 comments
Assignees
Labels
Epic An Epic Issue JDT Issues for JDT Performance A Request for a Performance Improvement

Comments

@HeikoKlare
Copy link
Contributor

HeikoKlare commented Jun 26, 2023

Current Behavior

The type hierarchy view has bad performance when the type hierarchy is large. The root cause consists of two things:

  1. Opening the hierarchy view is performed synchronously, thus the UI freezes when opening it.
  2. Opening the view calculates the complete type hierarchy (which is canonically required for the view). This information is not cached in the AST.

Expected Behavior

Opening the type hierarchy view should not block the UI. The contents calculation should be performed asynchronously. If this is not (easily) possible, in a first step the calculation may be moved away from the UI thread while showing a progress dialog or the like, which allows to cancel the operation, to avoid that the UI blocks for a potentially long time.

Additional Information

This is related to #2.

@HeikoKlare HeikoKlare added JDT Issues for JDT Performance A Request for a Performance Improvement labels Jun 26, 2023
@HeikoKlare HeikoKlare self-assigned this Jul 31, 2023
@HeikoKlare HeikoKlare added the Epic An Epic Issue label Jan 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic An Epic Issue JDT Issues for JDT Performance A Request for a Performance Improvement
Projects
Status: 🔖 Ready: Atomic
Development

No branches or pull requests

1 participant