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

Substantial perf improvement for VSTHRD010 analyzer #712

Merged
merged 1 commit into from
Oct 30, 2020

Conversation

AArnott
Copy link
Member

@AArnott AArnott commented Oct 29, 2020

Switched GetSymbolInfo to IOperation in VSTHRD010.

In one simple repro, a build that took 46 seconds down to just over 1 second.

Fixes #701: a massive perf issue with VSTHRD010

Fixes microsoft#701: a massive perf issue with VSTHRD010
@AArnott AArnott added this to the v16.8 milestone Oct 29, 2020
@AArnott AArnott requested a review from sharwell October 29, 2020 22:16
@AArnott AArnott self-assigned this Oct 29, 2020
@AArnott AArnott requested a review from BertanAygun October 30, 2020 17:34
@@ -201,9 +203,30 @@ void MarkMethod(IMethodSymbol method)
return result;
}

private static void AddToCallerCalleeMap(SyntaxNodeAnalysisContext context, Dictionary<IMethodSymbol, List<CallInfo>> callerToCalleeMap)
private static Dictionary<IMethodSymbol, List<CallInfo>> CreateCalleeToCallerMap(Dictionary<IMethodSymbol, List<CallInfo>> callerToCalleeMap)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewers tip: this method didn't change. It just got moved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants