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.