Skip to content

fix: load references asynchronously#3552

Merged
mhuisi merged 2 commits intoleanprover:masterfrom
mhuisi:mhuisi/slow-server-startup
Mar 1, 2024
Merged

fix: load references asynchronously#3552
mhuisi merged 2 commits intoleanprover:masterfrom
mhuisi:mhuisi/slow-server-startup

Conversation

@mhuisi
Copy link
Copy Markdown
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
@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
ghost pushed a commit to leanprover-community/batteries that referenced this pull request Mar 1, 2024
ghost pushed a commit to leanprover-community/mathlib4 that referenced this pull request Mar 1, 2024
@ghost ghost added breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan full-ci labels Mar 1, 2024
@ghost
Copy link
Copy Markdown

ghost commented Mar 1, 2024

Mathlib CI status (docs):

Merged via the queue into leanprover:master with commit 7e944c1 Mar 1, 2024
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.

2 participants