Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed start up by deferring post-startup ls/engine actions #5040

Closed
wdanilo opened this issue Feb 5, 2023 · 1 comment
Closed

Speed start up by deferring post-startup ls/engine actions #5040

wdanilo opened this issue Feb 5, 2023 · 1 comment
Assignees
Labels
--low-performance -compiler -language-server p-high Should be completed in the next sprint x-chore Type: chore

Comments

@wdanilo
Copy link
Member

wdanilo commented Feb 5, 2023

Overview

Services that are being currently initialized can be divided into two categories:

  • required startup to bring the necessary services up and running
  • post-startup actions that could be started with low-level priority and warm up our engine

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:

1074ms in SqlSuggestionRepo

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 - the WarmUp 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

@jdunkerley jdunkerley removed this from Issues Board Feb 7, 2023
@JaroslavTulach JaroslavTulach changed the title Introduce low-priority post-startup actions for language-server/engine Speed start up by deferring post-startup language-server/engine actions Mar 10, 2023
@JaroslavTulach JaroslavTulach added this to the Beta Release milestone Mar 10, 2023
@JaroslavTulach JaroslavTulach changed the title Speed start up by deferring post-startup language-server/engine actions Speed start up by deferring post-startup ls/engine actions Mar 10, 2023
@JaroslavTulach JaroslavTulach added p-high Should be completed in the next sprint -language-server and removed p-low Low priority labels Mar 10, 2023
@jdunkerley jdunkerley moved this from ❓New to 📤 Backlog in Issues Board Mar 10, 2023
@4e6
Copy link
Contributor

4e6 commented Mar 24, 2023

The work for delaying post-startup actions was done in #5970 #5990 and #5997

@4e6 4e6 closed this as completed Mar 24, 2023
@github-project-automation github-project-automation bot moved this from 📤 Backlog to 🟢 Accepted in Issues Board Mar 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--low-performance -compiler -language-server p-high Should be completed in the next sprint x-chore Type: chore
Projects
Archived in project
Development

No branches or pull requests

5 participants