SolutionState.Branch does a bunch of unnecessary project enumeration #53769
Labels
Area-IDE
Area-Performance
Concept-Continuous Improvement
Performance-Scenario-Solution-Close
This issue affects solution close performance.
Performance-Scenario-Solution-Open
This issue affects solution open performance.
Resolution-Fixed
The bug has been fixed and/or the requested behavior has been implemented
Milestone
This line is showing up as a hot path in solution open/close:
roslyn/src/Workspaces/Core/Portable/Workspace/Solution/SolutionState.cs
Line 223 in f4c808d
Because on almost every workspace change, we are re-enumerating all projects and tossing the common languages into a hash set, even if no project was added/removed. At least one trace is showing this is maybe 5% of Roslyn's contribution to solution close and 15% (!) we spend updating our workspace in solution open.
The text was updated successfully, but these errors were encountered: