Skip to content
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

Developers get faster inner loop via optimized RAR in MS BUILD #8422

Closed
8 tasks done
Tracked by #8491
ladipro opened this issue Feb 8, 2023 · 1 comment
Closed
8 tasks done
Tracked by #8491

Developers get faster inner loop via optimized RAR in MS BUILD #8422

ladipro opened this issue Feb 8, 2023 · 1 comment
Labels
8.0 Cost:M Work that requires one engineer up to 2 weeks needs-investigation Priority:1 Work that is critical for the release, but we could probably ship without Status:InProgress SWAG:5.5 Task: Resolve Assembly References (RAR) triaged User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@ladipro
Copy link
Member

ladipro commented Feb 8, 2023

Background

ResolveAssemblyReferences (RAR) remains to be one of the most expensive targets in incremental builds. It runs on each build, by design, and while there have been several improvements in the past, we believe that it can be optimized further. For example, thanks to the MSBuild server feature, we can look at the target and the underlying task through the prism of a long-running process and investigate the potential use of file watchers to catch dependent file updates. It is also likely that many RAR features are no longer relevant for building modern .NET apps and can be by default disabled, yielding a measurable perf boost.

Tasks

Justification

  1. Faster incremental build leading to faster inner loop.
  2. Particularly relevant to command line where incremental builds are not optimized at project level.
  3. Alings to OKR "Generate 8 1P 'perf gains/COGS reduction' endorsements from moving to .NET 5+"
@ladipro ladipro added Task: Resolve Assembly References (RAR) User Story A single user-facing feature. Can be grouped under an epic. needs-investigation 8.0 labels Feb 8, 2023
@donJoseLuis donJoseLuis changed the title Optimize ResolveAssemblyReferences Developers get faster inner loop via optimized RAR in MS BUILD Mar 14, 2023
@donJoseLuis donJoseLuis added SWAG:5.5 Cost:M Work that requires one engineer up to 2 weeks Priority:1 Work that is critical for the release, but we could probably ship without labels Mar 14, 2023
@donJoseLuis donJoseLuis added this to the 8.0P4 milestone Mar 14, 2023
@ladipro
Copy link
Member Author

ladipro commented Jul 10, 2023

This is now complete. Most of the changes shipped in .NET 8 Preview 6, CPU optimizations will ship in Preview 7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.0 Cost:M Work that requires one engineer up to 2 weeks needs-investigation Priority:1 Work that is critical for the release, but we could probably ship without Status:InProgress SWAG:5.5 Task: Resolve Assembly References (RAR) triaged User Story A single user-facing feature. Can be grouped under an epic.
Projects
None yet
Development

No branches or pull requests

4 participants