In static graph restore, NuGet.Build.Tasks.Console.exe builds an MSBuild static graph (in parallel) and then executes targets on each project to determine ProjectReferences, PackageReferences, and so on that NuGet cares about for each project:
https://github.com/NuGet/NuGet.Client/blob/b83566ec2369c4e9fd07e6f95d734dfe370a1e66/src/NuGet.Core/NuGet.Build.Tasks.Console/MSBuildStaticGraphRestore.cs#L929-L947
Right now that target execution doesn't opt into multithreaded MSBuild, but enabling that should a) not use very many tasks (so easily enlightened) and b) benefit a lot from parallelism. We should enable multithreaded there.
In static graph restore,
NuGet.Build.Tasks.Console.exebuilds an MSBuild static graph (in parallel) and then executes targets on each project to determine ProjectReferences, PackageReferences, and so on that NuGet cares about for each project:https://github.com/NuGet/NuGet.Client/blob/b83566ec2369c4e9fd07e6f95d734dfe370a1e66/src/NuGet.Core/NuGet.Build.Tasks.Console/MSBuildStaticGraphRestore.cs#L929-L947
Right now that target execution doesn't opt into multithreaded MSBuild, but enabling that should a) not use very many tasks (so easily enlightened) and b) benefit a lot from parallelism. We should enable multithreaded there.