dotnet / dotnet/msbuild

Consider testing command lines to identify worker nodes

Open
#3,125 11 comments 0 reactions 0 assignees View on GitHub
.NET Core Area: Performance backlog help wanted triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

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

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.