-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Optimize DiagnosticService on NetCore #77126
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
Conversation
// might have beaten us to storing in it. | ||
#if NET | ||
_projectToForceAnalysisData.TryAdd(project, box); | ||
Contract.ThrowIfFalse(_projectToForceAnalysisData.TryGetValue(project, out box)); |
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.
can be replaced with GetOrAdd dotnet/runtime#111204 when we move to NET10
tupleBox = new((stateSets, compilationWithAnalyzersPair)); | ||
|
||
#if NET | ||
s_projectToCompilationWithAnalyzers.AddOrUpdate(project, tupleBox); |
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.
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.
var compilationWithAnalyzersPair = await CreateCompilationWithAnalyzersAsync().ConfigureAwait(false); | ||
tupleBox = new((stateSets, compilationWithAnalyzersPair)); | ||
|
||
#if NET |
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.
is this running out of proc or in-proc in VS? (curious if this only applies to VSCode)
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.
this runs in proc in VS currently. but i would like it to run OOP. basically, we run most of diagnostics in proc until the point of calling out to actually do the computation. i'd like to push this much higher so that we basically remote over the call to the IDiagService immediately, and do everything else on the OOP side. that is upcoming.
No description provided.