Planning a Python Course for Beginners
Marko Rauhamaa
marko at pacujo.net
Thu Aug 10 16:03:59 EDT 2017
Peter Otten <__peter__ at web.de>:
> 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.
Marko
More information about the Python-list
mailing list