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

Walk TFMs in parallel when collecting pack outputs #13776

Open
baronfel opened this issue Sep 9, 2024 · 0 comments · May be fixed by NuGet/NuGet.Client#6018
Open

Walk TFMs in parallel when collecting pack outputs #13776

baronfel opened this issue Sep 9, 2024 · 0 comments · May be fixed by NuGet/NuGet.Client#6018
Labels

Comments

@baronfel
Copy link

baronfel commented Sep 9, 2024

NuGet Product(s) Affected

dotnet.exe

Current Behavior

Today, the _WalkEachTargetPerFramework target uses a large number of MSBuild 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:

image

Desired Behavior

_WalkEachTargetPerFramework should issue batches of parallel work to the MSBuild 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:

image

Additional Context

No response

@baronfel baronfel added Type:DCR Design Change Request Triage:Untriaged labels Sep 9, 2024
@zivkan zivkan added Priority:2 Issues for the current backlog. Type:Bug Functionality:Pack Tenet:Performance Performance issues PerfWins and removed Type:DCR Design Change Request Triage:Untriaged labels Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants