-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Document state storage refactoring #51420
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mainly looks good, a few minor things
the WithDocumentText benchmarks looks like they increased more than the error, is that expected / problematic
The difference is not significant. Modifying operations are much less important than read operations. |
...facts/results/IdeCoreBenchmarks.ProjectOperationBenchmarks.IterateDocuments-report-github.md
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A semi-moot approval since this already merged by accident but ; thanks for doing this as this is a really, really nice cleanup that I'm sure was not fun doing the mechanical changes.
...ilitiesAndExtensions/Compiler/Core/Utilities/CompilerUtilities/ImmutableHashMapExtensions.cs
Show resolved
Hide resolved
Superseded by #51526 |
Alternative to #50298. Keeping the previous data structure: ImmutableList and ImmutableSortedDictionary.
ProjectState
to a dedicated data structure:TextDocumentStates<TState>
.TextDocumentStates<TState>
for source generated documents as well.Project.Documents
: 1.5-2.25x faster. Partially addresses Experiment with targetted perf improvements around Project.Documents. #48682.Before
After
Measured on