roslyn
roslyn copied to clipboard
Reduce symbol array allocations during CSharpSemanticModel.LookupSymbolsInternal
During completion, I see this method generating results with several thousand entries which is evident in allocations in a profile I'm inspecting. This PR attempts to reduce intermediary arrays constructed during that process by modifying FilterNotReferenceable and FilterOverriddenOrHiddenIndexers to not require realization of an ImmutableArray as input.
Original allocations:
After PR allocations:
Done with review pass (commit 3)
Done with review pass (commit 6)
@333fred for 2nd review
@dotnet/roslyn-compiler for a 2nd review
Nudge to @dotnet/roslyn-compiler again for 2nd review