Is There Any Documentation That Describes How Parallel Builds Work?
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
We are trying to tune our build servers to speed up build times and we are looking for documentation on how Parallel Builds actually work in MSBuild; with special focus to C#.
There is not a wiki page, and I am not smart enough to chase this in code. If I could be given a pointer on where to start I can dig from there. There is good discussion on #74 which gives a little background (but focuses more on C++), are there other places that do a more in-depth dive?
Historically we have naively assumed that looking at our dependency graph in a breadth-first manner would give us a good gauge for optimal core/worker allocation. However we do not believe that this accurately depicts what MSBuild does. Rather it appears that MSBuild, when given a solution file, will attempt to crawl the dependency tree in a depth-first manner. It is unclear if this is by design or just an artifact of the current implementation.
What we are trying to find is a way to determine a rough estimate (simply by evaluating the dependency tree, without building) on the value of adding N+1 cores to an existing build instance. Is that even possible?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.