Consider `SearchValues` for known-at-compile-time character sets to feed into IndexOfAny
Open
Area: Performance
backlog
internal-team-onboarding
Priority:3
triaged
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/#searchvalues
We have several checks for things like "is this a valid property name" and "are there invalid path characters" that could benefit from the prebaked comparisons of `SearchValues`.
I took an early crack at this: https://github.com/dotnet/msbuild/commit/afc70de6143cfc3909a3dfed70383d8259db0864. It looks like net35 compatibility in some of the core functions will be an implementation problem--but the benefit may be worth writing a new implementation.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.