Message296848
I suggest reading the thread I started here[1] before pursuing this: it looks very likely that the entire collision resolution scheme should be replaced with one of the "double hashing" ones given there, a bona fide algorithmic improvement for small tables and pathological key sets. Whether it actually runs faster remains a mystery ;-) The loop guts change from a shift, three adds, and a mask (or a multiply, two adds, and a mask) to just one add and a mask. But the post-first-probe pre-loop setup gets more expensive.
[1] https://mail.python.org/pipermail/python-ideas/2017-June/046143.html |
|
Date |
User |
Action |
Args |
2017-06-26 05:15:15 | tim.peters | set | recipients:
+ tim.peters, rhettinger, pitrou, methane, serhiy.storchaka, xiang.zhang, xgdomingo, Dmitry Rubanovich |
2017-06-26 05:15:15 | tim.peters | set | messageid: <1498454115.2.0.8344006126.issue29304@psf.upfronthosting.co.za> |
2017-06-26 05:15:15 | tim.peters | link | issue29304 messages |
2017-06-26 05:15:14 | tim.peters | create | |
|