C#: Do not call CSharpCompilation.Clone
#16249
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Despite what the original comment said, calling
CSharpCompilation.Clone
actually makes the extractor consume more memory instead of less memory, at least when running in buildless mode, where all.cs
files are included in one single compilation.Running buildless extraction on
dotnet/roslyn
locally with/usr/bin/time -l
reported amaximum resident set size
of51,035,299,840
before this PR and15,477,882,880
after.DCA confirms that this is an improvement, as the database build time for
mono/mono
andOrchardCMS/OrchardCore
decrease by 70% in buildless mode.