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

[Performance] Precalculating AST during save freezes UI

Open
#2,414 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
59
Forks
127
Avg merge
1d 8h
Merged PRs (30d)
37

Description

When saving a java file, the post save actions may trigger the calculation of the AST in the UI thread, which sometimes results in a UI freeze.

Here's an example:

Image

---

The code that does this is:

https://github.com/eclipse-jdt/eclipse.jdt.ui/blob/ef74c4430d96c065c7785c7eb4b6835517a080b2/org.eclipse.jdt.ui/core%20extension/org/eclipse/jdt/internal/corext/fix/CleanUpPostSaveListener.java#L377-L379

Contributor guide

Open the contributing guide

Research direction

Start in org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpPostSaveListener.java at lines 377-379 and trace the post-save path that precalculates the AST. Reproduce the freeze when saving a Java file, then verify that AST calculation no longer blocks the UI thread and that existing post-save behavior still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, performance
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.