Consider improving FrozenSet for byte/char #110783
Labels
area-System.Collections
in-pr
There is an active PR which will close this issue when it is merged
tenet-performance
Performance related issue
Milestone
FrozenSet<T>
is the go-to option if you have an arbitary set of values and just need to do a bunch ofContains(T)
queries.Now that
SearchValues<T>
is a thing, I've seen the question posed a few times of whether one should use that instead, as it also has aContains(T)
.Currently for the best performance you'd want to use
FrozenSet
for everything exceptbyte
/char
, whereSearchValues
will do a better job.SearchValues<string>.Contains
on the other hand is strictly worse as we're just backing it with aHashSet<string>
.We should consider improving
FrozenSet
to be as good asSearchValues
for these two types to make the decision/recommendations easy.(part of the issue is also that existing docs on
SearchValues
don't make it obvious that the point of the type is to use it with extension methods on spans)In practice the interesting cases here IMO are:
The text was updated successfully, but these errors were encountered: