Skip to content

Address solution load performance#369

Merged
razzmatazz merged 2 commits into
mainfrom
address-roslyn-solution-load-slowness
May 29, 2026
Merged

Address solution load performance#369
razzmatazz merged 2 commits into
mainfrom
address-roslyn-solution-load-slowness

Conversation

@razzmatazz

@razzmatazz razzmatazz commented May 29, 2026

Copy link
Copy Markdown
Owner

Speed up solution load by reading target frameworks directly from project XML (XDocument) instead of always invoking MSBuild ProjectCollection, and fanning the probes out with Async.Parallel. Falls back to ProjectCollection only when the TFM value contains a property reference or is absent from the project file (e.g. declared in Directory.Build.props).

Before: 58 × ~114 ms serial ProjectCollection evaluations ≈ 6.6 s
After: parallel sub-millisecond XML reads + at most a few serialised MSBuild fallbacks ≈ < 50 ms

Investigated in plans/roslyn-buildhost-solution-load-perf.md.

🤖 Generated with eca

@razzmatazz razzmatazz force-pushed the address-roslyn-solution-load-slowness branch from b236d58 to ea56266 Compare May 29, 2026 06:48
@razzmatazz razzmatazz force-pushed the address-roslyn-solution-load-slowness branch from ea56266 to 5584a0a Compare May 29, 2026 06:52
@razzmatazz razzmatazz force-pushed the address-roslyn-solution-load-slowness branch from 5584a0a to 6890a44 Compare May 29, 2026 06:53
@razzmatazz razzmatazz merged commit 2dafb9e into main May 29, 2026
1 of 2 checks passed
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.

1 participant