eclipse-jdt / eclipse-jdt/eclipse.jdt.ui
[performance] JDT initialization blocks IDE startup
- Dominant language
- Java
- Stars
- 59
- Forks
- 127
- Avg merge
- 23h 30m
- Merged PRs (30d)
- 35
Description
org.eclipse.jdt.ui.StandardJavaElementContentProvider.getParent(Object) calls this code
https://github.com/eclipse-jdt/eclipse.jdt.ui/blob/4dc72d8c0d1ea3ca58656c098ecd178269a0695a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/StandardJavaElementContentProvider.java#L246
the existence check currently triggers all classpath containers of all projects to be resolved what is a costly operation and blocks the whole IDE startup procedure see here:
- https://github.com/eclipse-pde/eclipse.pde/issues/1481
instead one needs a more lightweight check or even always return `null` as allowed by the API or a better way to determine the parents.
Contributor guide
Research direction
Start in org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/StandardJavaElementContentProvider.java at getParent(Object), especially the existence check near line 246, and read the linked Eclipse PDE issue 1481. Determine how to avoid resolving all project classpath containers during IDE startup while respecting the API's parent behavior; done means the costly initialization is no longer triggered there.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- desktop, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100