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

Lazy loading #50

Merged
merged 12 commits into from
Oct 1, 2021
Merged

Lazy loading #50

merged 12 commits into from
Oct 1, 2021

Conversation

mgree
Copy link
Owner

@mgree mgree commented Sep 28, 2021

Lazily populate the FS. The current implementation passes tests but has hefty technical debt.

  • Rename fs.rs into eager.rs. 24d9704
  • Use the new Nodelike parsing/unparsing logic to simplify loading for eager::FS, too. 9268a77
  • Let lazy loading rewrite input into a different output format by calling resolve_node to fixpoint. aba72bc
  • CLI flags for controlling laziness. df22c78

It's tempting to have eager mode work with the lazy FS by just forcing resolution during startup. There would be some overhead, though. How much? We can do benchmarking on three modes: lazy, lazy with --force-early, and the existing eager. dd152f1 shows that lazy with --force-early is on par with eager. So once we can have lazy outputting in whatever format, we can drop eager entirely.

@mgree mgree mentioned this pull request Sep 28, 2021
@mgree mgree marked this pull request as ready for review October 1, 2021 14:56
@mgree mgree merged commit b9c6644 into main Oct 1, 2021
@mgree mgree deleted the lazy-loading branch October 1, 2021 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant