Deliver the multithreaded build performance win
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
Performance is one of the most important reasons for the multithreaded MSBuild project. The goal of this epic is to make builds measurably faster in the majority of scenarios when running with `-mt`.
## Steps
- [ ] [#13766](https://github.com/dotnet/msbuild/issues/13766) [#14236](https://github.com/dotnet/msbuild/issues/14236) Make PerfStar numbers reproducible so the baseline can be trusted [size S]
- [ ] [#14020](https://github.com/dotnet/msbuild/issues/14020) [#14839](https://github.com/dotnet/msbuild/issues/14839) Close the multithreaded evaluation regression seen in pipelines [size M]
- [ ] [#13865](https://github.com/dotnet/msbuild/issues/13865) [#13028](https://github.com/dotnet/msbuild/issues/13028) Remove lock and cache contention that limits thread scaling [size M]
- [ ] [#14113](https://github.com/dotnet/msbuild/issues/14113) Cut IPC overhead for tasks that run out of process [size M]
- [ ] [#14210](https://github.com/dotnet/msbuild/issues/14210) Clear the regression multithreading introduced into non-MT builds [size S]
## Stakeholders
Everyone building with `-mt`: .NET SDK CLI users, Visual Studio, and VMR and partner CI — whose build times are the reason multithreaded mode exists.
## Definition of done
`-mt` is faster than the multi-process baseline on the majority of tracked PerfStar scenarios, cold and warm; non-MT builds show no regression from multithreading work; and PerfStar numbers reproduce in manual runs so the result is trustworthy.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked issues #13766, #14236, #14020, #14839, #13865, #13028, #14113, and #14210, along with the PerfStar scenarios and -mt build path they reference. Done means reproducible PerfStar results, faster -mt builds than the multi-process baseline in most tracked scenarios, and no non-MT regression.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100