dotnet / dotnet/roslyn

Consider optimization removing storage of CommandLineArguments in ProjectSystemProjectOptionsProcessor

Open
#78,563 0 comments 0 reactions 0 assignees View on GitHub
Area-Performance
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

Per Jason, it *may* be possible to not store this in certain scenarios. This came up in review of https://github.com/dotnet/roslyn/pull/78446

It is possible (probably not likely) we see an increase in mgd heap in legacy projects due to that PR. It removed hiding those allocations in temporary storage, but kept around the commandline in certain cases instead. _commandLineArgumentsForCommandLine appears to only be stored for a particular scenario that I'll ask Jason to outline.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing pull request 78446 and tracing _commandLineArgumentsForCommandLine in ProjectSystemProjectOptionsProcessor. Identify the particular scenario in which it is stored, then determine whether that storage can be removed without increasing managed heap usage for legacy projects. Done means the scenario and safe optimization are established with supporting validation.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
compilers, devtools
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.