Description
Issue Description
Some build perf for a solution with only vc projects which don’t copy anything to the output dir and noticed that GetCopyToOutputDirectoryItems target time is pretty big without doing any actual copying.
Steps to Reproduce
Get \olgaark22\public\Build\Generated_250_250_250_5P2P.zip and run msbuild /m:10 /v:q /bl:Base_M010_MP010.binlog
Data
282473 ms d:\olgaark\Generated_250_250_250_5P2P\gensln.sln 1 calls
Target Performance Summary:
122175 ms _GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences 250 calls
122392 ms GetCopyToOutputDirectoryItems 250 calls
127669 ms GetReferencedVCProjectsInfo 250 calls
282461 ms Build 251 calls
425728 ms Link 250 calls
2058851 ms ClCompile 250 calls
34881129 ms ResolveProjectReferences 250 calls
Task Performance Summary:
1088 ms GenerateDesktopDeployRecipe 250 calls
122331 ms CallTarget 500 calls
416491 ms Link 250 calls
2048743 ms CL 250 calls
35412917 ms MSBuild 995 calls
Analysis
Hypothesis is that GetCopyToOutputDirectoryItems which is supposed to run on particular node is blocked by some other
build requests which have started on that node meanwhile.
Versions & Configurations
MSBuild version = "16.10.0-preview-21227-06+1d1fec7c4"
Regression?
Most probably not a regression.
Attach a binlog
See repro.