Skip to content

Fix a bug in AnalyzerManager.GetCompilationAnalysisScopeCoreAsync - #680

Merged
mavasani merged 2 commits into
dotnet:masterfrom
mavasani:AnalyzerManagerBug
Feb 19, 2015
Merged

Fix a bug in AnalyzerManager.GetCompilationAnalysisScopeCoreAsync#680
mavasani merged 2 commits into
dotnet:masterfrom
mavasani:AnalyzerManagerBug

Conversation

@mavasani

Copy link
Copy Markdown
Contributor

Fix a bug in AnalyzerManager.GetCompilationAnalysisScopeCoreAsync to use the GetOrAdd overload that takes a Func rather then value. This should avoid spawning multiple tasks to execute CompilationStartAction for an analyzer, and fix the VS responsiveness issues we have been seeing in #610

@tmeschter @heejaechang @JohnHamby can you please take a look?
I guess we should address #664 as soon as possible.

…use the GetOrAdd overload that takes a Func rather then value. This should avoid spawing multiple tasks to execute CompilationStartAction for an analyzer, and fix the VS responsiveness issues we have been seeing in DeclarePublicAPIAnalyzer.
@tmeschter

Copy link
Copy Markdown
Contributor

👍

@tmeschter

Copy link
Copy Markdown
Contributor

For context, this is causing us to spin up lots of Tasks that end up stuck in the DeclarePublicAPI analyzer's compilation start action while reading PublicAPI.txt. This saturates the thread pool while editing files in Roslyn.sln and kills VS responsiveness.

I'm making a separate change to check the CancellationToken more aggressively in the analyzer itself, but I'm not convinced that will actually help in this case.

@srivatsn

Copy link
Copy Markdown
Contributor

👍

mavasani added a commit that referenced this pull request Feb 19, 2015
Fix a bug in AnalyzerManager.GetCompilationAnalysisScopeCoreAsync
@mavasani
mavasani merged commit ecaae7d into dotnet:master Feb 19, 2015
@mavasani
mavasani deleted the AnalyzerManagerBug branch February 19, 2015 18:50
dibarbet pushed a commit that referenced this pull request Aug 18, 2026
Fully support additional projects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants