Pass file cache to sdk resolvers
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 133
Description
As a potential perf optimization, change the [sdk resolver interface ](https://github.com/dotnet/msbuild/tree/master/src/Framework/Sdk) to allow passing the evaluation's [file system cache](https://github.com/dotnet/msbuild/blob/master/src/Build/FileSystem/MSBuildFileSystemBase.cs) to each resolver.
If the sdk resolvers do IO for every resolve call (from a super brief glance over them they do), this would allow them to reuse the same IO cache as the evaluator. This further gets enhanced when other tools are driving evaluation (VS, quickbuild) and are using a shared evaluation context.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in the src/Framework/Sdk interface and read MSBuildFileSystemBase to understand the evaluation file system cache. Trace how SDK resolvers perform I/O during resolve calls and how the evaluation cache could reach them. Done means the resolver interface accepts the evaluation cache and resolvers can reuse it without changing resolution behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100