Walk TFMs in parallel when collecting pack outputs #13776
Labels
Functionality:Pack
PerfWins
Priority:2
Issues for the current backlog.
Tenet:Performance
Performance issues
Type:Bug
Milestone
NuGet Product(s) Affected
dotnet.exe
Current Behavior
Today, the
_WalkEachTargetPerFramework
target uses a large number ofMSBuild
Tasks in single-item batches to collect outputs to put into the final package. Each Task invocation incurs some overhead, and each Task invocation must be built sequentially. This results in relatively long and straight units of work. This looks like this:Desired Behavior
_WalkEachTargetPerFramework
should issue batches of parallel work to theMSBuild
Task invocations so that the engine can schedule the parallel work items more efficiently. This should result in increased performance with no change to functionality. That would look like this:Additional Context
No response
The text was updated successfully, but these errors were encountered: