[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-22 Thread Stefan Behnel
Stefan Behnel added the comment: Ah, sorry, yes. I somehow misread the arguments being passed *into* richcompare as subsequent array access. LGTM too. Sorry for the noise. -- ___ Python tracker ___

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-22 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: The list item pointer is updated just after calling PyObject_RichCompareBool(). The code LGTM. -- ___ Python tracker ___

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-22 Thread Stefan Behnel
Stefan Behnel added the comment: There are calls to PyObject_RichCompareBool() in the loops, which means that user code might get executed. What if that's evil code that modifies the heap list? Couldn't that lead to list resizing and thus invalidation of the list item pointer? -- nosy

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-22 Thread Roundup Robot
Roundup Robot added the comment: New changeset 490720fc1525 by Raymond Hettinger in branch 'default': Issue #24221: Small optimizations for heapq. https://hg.python.org/cpython/rev/490720fc1525 -- nosy: +python-dev ___ Python tracker

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-22 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- resolution: -> fixed status: open -> closed ___ Python tracker ___ ___ Python-bugs-list mailing lis

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-17 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Perhaps the code will look simpler if introduce the macro _PyList_SWAP_ITEMS(list, i, j). -- nosy: +serhiy.storchaka ___ Python tracker ___ _

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-17 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- priority: normal -> low ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-17 Thread Raymond Hettinger
Changes by Raymond Hettinger : Added file: http://bugs.python.org/file39414/time_heapify.py ___ Python tracker ___ ___ Python-bugs-list mailin

[issue24221] Clean-up and optimization for heapq siftup() and siftdown()

2015-05-17 Thread Raymond Hettinger
New submission from Raymond Hettinger: The siftup() and siftdown() routines rearrange pointers in a list. The generated code repeats the list object to ob_item lookup for each access. This patch does that lookup only once per iteration. It cleans up the code by replacing the PyList_GET_ITEM