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

Visual Studio PackageReference partial restore, solution based up to date check #3391

Merged
merged 3 commits into from
Jun 5, 2020

Conversation

nkolev92
Copy link
Member

@nkolev92 nkolev92 commented May 12, 2020

Bug

Fixes: NuGet/Home#9513
Regression: No

  • Last working version:
  • How are we preventing it in future:

Fix

Details:
Design at NuGet/Home#9564. Recommended you read that before reviewing. Specifically the https://github.com/NuGet/Home/blob/dev-nkolev92-partialrestore/designs/VisualStudio-PartialRestoreOptimization.md#solutionuptodatechecker section.

Pulling up the project level no-op to a solution level one with a few additional assumptions.

Some numbers:

Product Name VS 2019.5.5 VS 2019.6.6 P6 VS 2019.7 prototype. VS 2019.7 prototype without legacy projects   VS 2019.6.6 P6 VS 2019.7 prototype. VS 2019.7 prototype without legacy projects
Machine PC PC PC PC   Laptop Laptop Laptop
  1.6804014 1.6156941 0.1379934 0.4676703   1.9918262 0.8003277 0.9779166
  2.0785128 1.5657122 0.2868548 0.5782298   2.1794812 0.2650475 0.7390993
  1.57547 1.4855428 0.2480139 0.465401   2.1542342 0.1249913 0.5509775
  1.6408717 1.3002356 0.0922059 0.3999576   2.1923273 0.1813558 0.9208276
  1.9922636 1.6086686 0.2854186 0.4808997   2.7275282 0.3690762 0.8273464
Average 1.7935039 1.51517066 0.21009732 0.47843168   2.24907942 0.3481597 0.80323348
Standard Deviation 0.202169749 0.117026633 0.080124946 0.057287945   0.249861076 0.240594561 0.150113474
Compared to earlier releases   -15.51896486 -86.13375209 -68.4239081     -84.51990193 -64.28612201
    16.6 to 16.5 16.7 to 16.6 16.7 prototype to 16.6     16.7 to 16.6 16.7 prototype to 16.6

Improvements of 60%+ in the NuGet.sln.

I will do numbers on more solutions as time progresses, but I am confident that the numbers will be comparable. Especially for SDK based projects.

Testing/Validation

Tests Added: Yes
Reason for not adding tests:
Validation:

@nkolev92 nkolev92 changed the title Dev nkolev92 partial sln restore Visual Studio PackageReference partial restore, solution based up to date check May 14, 2020
@nkolev92 nkolev92 marked this pull request as ready for review May 14, 2020 18:18
@nkolev92 nkolev92 force-pushed the dev-nkolev92-partialSlnRestore branch from 143fc16 to c1f7f63 Compare May 14, 2020 23:08
@nkolev92
Copy link
Member Author

nkolev92 commented Jun 3, 2020

🔔

I'll do a rebase to resolve the conflicts, but it won't change the meat of the work (it's not in solutionrestorejob).

…ate check that's particular to VS and the fact that it's a long running process
@nkolev92 nkolev92 force-pushed the dev-nkolev92-partialSlnRestore branch from c1f7f63 to 5ab36e3 Compare June 3, 2020 18:31
@nkolev92 nkolev92 requested review from dominoFire and erdembayar June 3, 2020 18:31
@nkolev92
Copy link
Member Author

nkolev92 commented Jun 3, 2020

Resolved the merge conflicts.

Copy link
Member

@zivkan zivkan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After rushing through a review of this, I don't understand it super well, but at the same time I didn't see anything that's a real concern to me.

@nkolev92 nkolev92 requested a review from srdjanjovcic June 4, 2020 16:51
@nkolev92
Copy link
Member Author

nkolev92 commented Jun 4, 2020

🔔 @dominoFire @erdembayar
In case you have any feedback.

I just realized that @srdjanjovcic was not on the requested review list so adding him. :)

@nkolev92 nkolev92 merged commit 5bd6ed9 into dev Jun 5, 2020
@nkolev92 nkolev92 deleted the dev-nkolev92-partialSlnRestore branch June 5, 2020 21:06
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.

Visual Studio partial restore for PR projects (noop++) prototype
5 participants