Speed start up by deferring post-startup ls/engine actions #5040
Labels
--low-performance
-compiler
-language-server
p-high
Should be completed in the next sprint
x-chore
Type: chore
Milestone
Overview
Services that are being currently initialized can be divided into two categories:
Motivation
Goal
Investigate how and if we can divide some of our existing services to provide a good compromise between accessibility of services and their performance. Mitigate at least 1s spend in
SqlSuggestionRepo
initialization:Design
Let's introduce new Akka internal message -
WarmUp
. All actors that are interested in performing post-startup actions shall register for that message in Akka bus and start their initialization when it is delivered. Their initialization may be triggered in response to other events - theWarmUp
message is there to let everyone know: Hey, all the important work is done, you have time to pre-initialize!The language-server detects (possibly in cooperation with the IDE) when the essential part of startup is done and emits the
WarmUp
message then.References
@OnStart
- https://bits.netbeans.org/16/javadoc/org-openide-modules/org/openide/modules/OnStart.html@OnShowing
- https://bits.netbeans.org/16/javadoc/org-openide-windows/org/openide/windows/OnShowing.html@OnStop
- https://bits.netbeans.org/16/javadoc/org-openide-modules/org/openide/modules/OnStop.htmlThe text was updated successfully, but these errors were encountered: