dotnet / dotnet/project-system

Investigating nominating restore during evaluation as well as design-time

Open
#2,805 2 comments 0 reactions 0 assignees View on GitHub
Feature-NuGet Performance-Scenario-Solution-Open Priority:1 Tenet-Performance Triage-Approved
Dominant language
C#
Stars
1k
Forks
415
PR merge metrics
No merged PRs in 30d

Description

Right now, nomination is done after design-time build has finished - this leads to a bunch of false starts before Restore can occur.

We should consider coordinating evaluation and design-time build to see if we can nominate earlier for the cases where design-time build doesn't change results.

Things to think about

- We're moving the nomination to the first design-time build - and improving design-time build perf, will that be enough?
- We need to worry about no-restore cache invalidation - if evaluation/design-time build diff on results? Perhaps the first time we see that we stop nominating during evaluation?
- We need to avoid end-less restore
- Evaluation nominates Foo 8.0.0
- Design-time build nominates Foo 9.0.0
- This could end in end-less restore because assets file keeps changing causing us to kick off evaluation/design-time endlessly

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.