dotnet / dotnet/roslyn

[EnC] Optimize EnC document analysis

Open
#84,985 0 comments 0 reactions 0 assignees View on GitHub
Area-Interactive Interactive-EnC
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

Opportunities for improvement:

We cache document analyses on `EditSession` instance, which is discarded every time the debugger calls `BreakStateOrCapabilitiesChanged`.

Capabilities virtually do not change -- they can only change when debugger attaches/detaches from a runtime that has different capabilities. That's rare.

Active statements change every "step". They however impact only method body analysis of active methods. If stepping within a method body, we could only reanalyze that one method body.

Contributor guide

Open the contributing guide

Research direction

Start at the EditSession document-analysis cache and the debugger's BreakStateOrCapabilitiesChanged path. Trace how capability changes and active statements invalidate analyses, then verify that unchanged capabilities reuse cached results and stepping within a method limits reanalysis to the active method body.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
compilers
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.