eclipse-jdt / eclipse-jdt/eclipse.jdt.ui

[performance] JDT initialization blocks IDE startup

Open
#1,860 8 comments 0 reactions 0 assignees View on GitHub
help wanted performance
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.