Raymond Hettinger added the comment:

I'll just close this one.  There seems to be little interest in it.

Originally, I characterized freeslot tracking as an optimization that mildly 
benefited an uncommon case (adds/deletes/moreadds) at the expense of the common 
cases (uniquification, membership testing, and set-to-set operations).

As Antoine pointed-out, on some systems the cost of a predictable branch 
routinely not take can be almost zero.  There was still benefit in code 
simplification, reducing the size of the stack frame, freeing a register that 
needed to saved and restored when called PyRich_CompareBool(), etc. But no one 
seems to care about those.

As Serhiy found, there is one case where the freeslot tracking benefit wasn't 
"mild".  In the unusual but possible case of deleting and reinserting the exact 
same value in a large set, dummy reuse prevents a catastrophic linear pile-up.

And so it goes.   Free slot tracking lives.

----------
resolution:  -> rejected
status: open -> closed

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23259>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to