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

Reuse semantic models where possible when recompiling modules #3785

Closed
anthony-c-martin opened this issue Jul 27, 2021 · 1 comment · Fixed by #3852
Closed

Reuse semantic models where possible when recompiling modules #3785

anthony-c-martin opened this issue Jul 27, 2021 · 1 comment · Fixed by #3852
Labels
enhancement New feature or request performance Relates to improving or profiling performance of the Bicep C# code tech debt Fixing this issue will pay down technical debt we have accumulated. top 10 committed
Milestone

Comments

@anthony-c-martin
Copy link
Member

anthony-c-martin commented Jul 27, 2021

At the moment we reuse syntax trees for unchanged files in the module tree, but recreate every single semantic model from scratch if there is any change to the parent module.

This is a bit of a performance nightmare for larger module structures. We should figure out a way of computing which upstream files are affected by a given change, and only replace semantic models for those files.

See #3636 for discussion on an example perf problem which this could help alleviate.

@anthony-c-martin anthony-c-martin added the enhancement New feature or request label Jul 27, 2021
@ghost ghost added the Needs: Triage 🔍 label Jul 27, 2021
@anthony-c-martin anthony-c-martin added the tech debt Fixing this issue will pay down technical debt we have accumulated. label Jul 27, 2021
@anthony-c-martin
Copy link
Member Author

Related to #3787

@majastrz majastrz added this to the v0.5 milestone Jul 29, 2021
@anthony-c-martin anthony-c-martin added the performance Relates to improving or profiling performance of the Bicep C# code label Oct 21, 2021
@ghost ghost locked as resolved and limited conversation to collaborators May 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request performance Relates to improving or profiling performance of the Bicep C# code tech debt Fixing this issue will pay down technical debt we have accumulated. top 10 committed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants