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

fix: load references asynchronously #3552

Merged
merged 2 commits into from
Mar 1, 2024

Conversation

mhuisi
Copy link
Contributor

@mhuisi mhuisi commented Mar 1, 2024

In v4.6.0, there was a significant regression in initial server startup performance because the .ilean files got bigger in #3082 and we load the information stored in all .ilean files synchronously when the server starts up.

This PR makes this loading asynchronous. The trade-off is that requests that are issued right after the initial server start when the references are not fully loaded yet may yield incomplete results.

Benchmark for this in a separate PR soon after this one.

@mhuisi mhuisi requested a review from Kha March 1, 2024 13:17
src/Lean/Server/Watchdog.lean Outdated Show resolved Hide resolved
@mhuisi mhuisi enabled auto-merge March 1, 2024 13:44
@mhuisi mhuisi added this pull request to the merge queue Mar 1, 2024
@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Mar 1, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Mar 1, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request Mar 1, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan full-ci labels Mar 1, 2024
@leanprover-community-mathlib4-bot
Copy link
Collaborator

Mathlib CI status (docs):

Merged via the queue into leanprover:master with commit 7e944c1 Mar 1, 2024
25 checks passed
mhuisi added a commit to mhuisi/lean4 that referenced this pull request Mar 1, 2024
github-merge-queue bot pushed a commit that referenced this pull request Mar 2, 2024
github-merge-queue bot pushed a commit that referenced this pull request Mar 4, 2024
Benchmark to catch future regressions as the one fixed in #3552.
kim-em pushed a commit that referenced this pull request Mar 4, 2024
In v4.6.0, there was a significant regression in initial server startup
performance because the .ilean files got bigger in #3082 and we load the
information stored in all .ilean files synchronously when the server
starts up.

This PR makes this loading asynchronous. The trade-off is that requests
that are issued right after the initial server start when the references
are not fully loaded yet may yield incomplete results.

Benchmark for this in a separate PR soon after this one.

---------

Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants