dotnet/msbuild

Consider testing command lines to identify worker nodes

Open

#3.125 geöffnet am 23. März 2018

Auf GitHub ansehen
 (11 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C# (1.364 Forks)batch import
.NET CoreArea: Performancebackloghelp wantedtriaged

Repository-Metriken

Stars
 (5.062 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 11T 7h) (125 gemergte PRs in 30 T)

Beschreibung

See https://github.com/Microsoft/msbuild/pull/3106#discussion_r176604238

Currently, in .NET Core, MSBuild will find all processes running in the dotnet host and attempt to connect to them as though they were MSBuilds. That shouldn't interfere with the other processes unless they have a named pipe named MSBuild{pid}, but it takes time during the node-connection process.

We should explore narrowing down the candidate processes beforehand. We could for example examine process command lines for /nodereuse:true and/or MSBuild.dll.

Questions that need to be answered:

  • How can this be done at all? AFAIK, there's no unified .NET API to get command lines of other processes on all platforms, so it might have to be platform-specific.
  • Is this faster than the current approach? Examining command lines will take some time.

Contributor Guide