NuGet restore cache check is no longer using file existence cache #13058
Labels
Area:RestoreNoOp
The PackageReference no-op
Functionality:Restore
Priority:2
Issues for the current backlog.
Tenet:Performance
Performance issues
Type:Bug
Milestone
NuGet Product Used
Other/NA
Product Version
Visual Studio 17.9
Worked before?
not sure
Impact
Other
Repro Steps & Context
Check Visual Studio solution loading trace when cache is available, or performance DDRITs can be used here. During NuGet restore runner time, NuGet took out many thread pool threads, and most of them will be blocked to check whether sha256 files exist (or basically, whether the version of NuGet package is still in the NuGet cache folder). Because package references are added to the closure of project references, each file is often checked in multiple projects. With often hundreds of files per project, in a large solution, it introduces heavy amounts of system calls/IOs.
Here is the thread time of one trace:
Verbose Logs
No response
The text was updated successfully, but these errors were encountered: