Is your feature request related to a problem or challenge?
After #15961, in GroupValuesPrimitive, we store the hash of group to speed up rehashing.
However, I found the bottleneck of rehashing is not hash computation, it is actually randomly access to the values.
So, after experimenting, the better is:
- We directly store the
group value in map
- So, during probing we can perform
eq in-place
- And, during rehashing we just perform the cheap hash computation for
group value
But for the large primitives, it may be still better to store their hashes in map rather than themselves, otherwise it will make map too large and lead to possible regression.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response
Is your feature request related to a problem or challenge?
After #15961, in
GroupValuesPrimitive, we store thehashof group to speed up rehashing.However, I found the bottleneck of
rehashingis not hash computation, it is actually randomly access to thevalues.So, after experimenting, the better is:
group valueinmapeqin-placegroup valueBut for the
large primitives, it may be still better to store their hashes inmaprather than themselves, otherwise it will makemaptoo large and lead to possible regression.Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response