Skip to content
New issue

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

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

Already on GitHub? # to your account

Load Caches from Disk #1996

Merged
merged 9 commits into from
Sep 18, 2021
Merged

Load Caches from Disk #1996

merged 9 commits into from
Sep 18, 2021

Conversation

iamrecursion
Copy link
Contributor

@iamrecursion iamrecursion commented Sep 16, 2021

Pull Request Description

The previous PR (#1991) enabled the writing of IR caches to disk. This PR implements the reading and usage of these caches to drastically speed up the interpreter boot. It cuts what is usually a ~30s boot on my machine to 3-4 seconds depending on load. Note that this speedup does not touch the boot of the Language Server which now dominates IDE project start.

Closes #1873.

Important Notes

Currently the runtime has no means to pre-generate the IR caches. This means that they will be generated on first run and then re-used for subsequent runs.

Note that the deserialization process is currently the bottleneck due to technical considerations. The documentation contains some future work that can speed this up more.

Checklist

Please include the following checklist in your PR:

  • The documentation has been updated if necessary.
  • All code conforms to the Scala, Java, and Rust style guides.
  • All documentation and configuration conforms to the markdown and YAML style guides.
  • All code has been tested where possible.

@iamrecursion iamrecursion added Type: Enhancement p-highest Should be completed ASAP labels Sep 16, 2021
@iamrecursion iamrecursion self-assigned this Sep 16, 2021
@iamrecursion iamrecursion marked this pull request as ready for review September 17, 2021 09:35
Copy link
Contributor

@kustosz kustosz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like code.

@iamrecursion iamrecursion merged commit 1cd2706 into main Sep 18, 2021
@iamrecursion iamrecursion deleted the wip/ara/ir-deserialize branch September 18, 2021 12:48
iamrecursion added a commit that referenced this pull request Sep 23, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
p-highest Should be completed ASAP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deserialise the IR
2 participants