Peter Otten <>:

> Steve D'Aprano wrote:
>> The C code says:
>>>/* bottom 3 or 4 bits are likely to be 0; rotate y by 4 to avoid
>>>excessive hash collisions for dicts and sets */
>> which I think agrees with my comment: using the id() itself would put
>> too many objects in the same bucket (i.e. too many collisions).
> There's a subtle diffence: you expected objects with nearby memory
> addresses to end up in the same "bucket" while actually all addresses
> (are likely to) have the same low bits, and creation time does not
> matter.

I see no point in CPython's rotation magic.


Reply via email to