[issue24762] Branchless, vectorizable frozen set hash

2015-08-01 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker ___

[issue24762] Branchless, vectorizable frozen set hash

2015-08-01 Thread Roundup Robot
Roundup Robot added the comment: New changeset cf707dd190a9 by Raymond Hettinger in branch 'default': Issue #24762: Speed-up frozenset_hash() and greatly beef-up the comments. https://hg.python.org/cpython/rev/cf707dd190a9 -- nosy: +python-dev ___ Py

[issue24762] Branchless, vectorizable frozen set hash

2015-08-01 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- assignee: -> rhettinger ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http

[issue24762] Branchless, vectorizable frozen set hash

2015-08-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: The idea looks interesting and the code looks correct. But the patch decreases readability and I'm not sure, that the benefit is worth it. Timings looks good at first glance, but frozenset hash is cached and is calculated only once per instance. I afraid tha

[issue24762] Branchless, vectorizable frozen set hash

2015-07-30 Thread Raymond Hettinger
Changes by Raymond Hettinger : Added file: http://bugs.python.org/file40081/timings_fasthash_clang.txt ___ Python tracker ___ ___ Python-bugs-

[issue24762] Branchless, vectorizable frozen set hash

2015-07-30 Thread Raymond Hettinger
Changes by Raymond Hettinger : Added file: http://bugs.python.org/file40080/timings_fasthash.txt ___ Python tracker ___ ___ Python-bugs-list m

[issue24762] Branchless, vectorizable frozen set hash

2015-07-30 Thread Raymond Hettinger
New submission from Raymond Hettinger: Speed-up frozenset_hash(). Switching to an entry++ style loop instead of set_next() eliminates much of the loop overhead. Removing the key=NULL or key==dummy checks eliminates the unpredictable branches and makes the loop vectorizable. Those benefits o