JetBrains details a multi-year engineering effort to improve UI responsiveness in IntelliJ-based IDEs by moving write actions off the UI thread (EDT). The platform's 25-year-old architecture relied on a single read-write lock tightly coupled to the EDT, causing freezes when expensive write actions (like VFS refresh or PSI rebuilding) blocked the UI. The team introduced background write actions, a new cancelable lock, modality-aware locking, and incremental migration strategies to preserve plugin compatibility. Results show the expected share of UI time spent on write locks dropped from 1.83% to 0.53% between releases 2025.2 and 2025.3. Future work targets eliminating write-intent locking from common interactions like typing.

11m read timeFrom blog.jetbrains.com
Post cover image
Table of contents
The deadly entanglementWith good intentionsThe grand refactoringWhen one lock is not enoughMoving work without breaking pluginsLet’s do it laterResults, future work, and acknowledgments

Sort: