(poc/RFC) perf(parser): record nodes, scopes, symbols, and references while parsing #4926
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add
Statistics
toAstBuilder
and record how many AST nodes, symbols, scopes, and references were encountered during parsing.I know @overlookmotel is considering passing around
&mut AstBuilder<'a>
in the parser, so I'm putting this here for conversation. It has the following benefits:Copy
And has the following downsides:
StatisticsCell
can cause a memory leak if not used properlyStatisticsCell
implementation is somewhat esotericNOTE: tests are failing because it does not record quite the correct number of each statistic, yet the point of this PR remains.