Uh oh!
There was an error while loading. Please reload this page.
Enable Regex to use SearchValues<string> in compiled / source generator for IgnoreCase multi-strings - #98791
Conversation
…or TryFindNextStartingPosition The analyzer determines a set of prefixes that can start any match, and then uses SearchValues with IndexOfAny to find the next one from that set. It's currently only enabled for case-insensitive; we need to do some more perf validation before enabling for case-sensitive.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| // Arbitrary string length limit (with some wiggle room) to avoid creating strings that are longer than is useful and consuming too much memory. | ||
| const int MaxPrefixLength = 8; |
There was a problem hiding this comment.
longer than is useful and consuming too much memory
This is mainly about not spending too many resources on the analysis part, not about the cost of the potential SearchValues itself, right?
There was a problem hiding this comment.
Well, "the longer than is useful" part was about SearchValues itself. Is that not the case?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
danmoseley
commented
Feb 22, 2024
A lot of work to get to this point! I guess I should remeasure the rust benchmarks with all the alternations. |
ghost
commented
Feb 22, 2024
Tagging subscribers to this area: @dotnet/area-system-text-regularexpressions Issue DetailsThe analyzer determines a set of prefixes that can start any match, and then uses
Contributes to #85693
|
The analyzer determines a set of prefixes that can start any match, and then uses
SearchValues<string>with IndexOfAny to find the next one from that set. It's currently only enabled for case-insensitive; we need to do some more perf validation before enabling for case-sensitive.Contributes to #85693