[issue24362] Simplify the fast nodes resize logic in C OrderedDict.

2015-06-07 Thread Arfrever Frehtes Taifersar Arahesis
Changes by Arfrever Frehtes Taifersar Arahesis : -- stage: patch review -> resolved status: open -> closed ___ Python tracker ___ ___

[issue24362] Simplify the fast nodes resize logic in C OrderedDict.

2015-06-03 Thread Eric Snow
Eric Snow added the comment: Thanks for pushing this, Stefan (and Jim). :) -- resolution: -> fixed type: -> behavior ___ Python tracker ___

[issue24362] Simplify the fast nodes resize logic in C OrderedDict.

2015-06-03 Thread Roundup Robot
Roundup Robot added the comment: New changeset c78c5832ccc0 by Eric Snow in branch '3.5': Issue #24362: Simplify the C OrderedDict fast nodes resize logic. https://hg.python.org/cpython/rev/c78c5832ccc0 -- nosy: +python-dev ___ Python tracker

[issue24362] Simplify the fast nodes resize logic in C OrderedDict.

2015-06-03 Thread Stefan Krah
Stefan Krah added the comment: I think this is much nicer, thank you! And the XXX comment looks right, updating od_size could be moved down. I suspect that updating it too early was the cause for #24361, which is also solved by this patch. -- ___ Py

[issue24362] Simplify the fast nodes resize logic in C OrderedDict.

2015-06-02 Thread Eric Snow
Eric Snow added the comment: Here's a patch that adds stores the hash on each node. This eliminates the need to call PyObject_Hash when rebuilding the fast nodes table during a resize. The patch also drops a superfluous while loop. -- keywords: +patch stage: needs patch -> patch revi

[issue24362] Simplify the fast nodes resize logic in C OrderedDict.

2015-06-02 Thread Yury Selivanov
Changes by Yury Selivanov : -- nosy: +yselivanov ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.p

[issue24362] Simplify the fast nodes resize logic in C OrderedDict.

2015-06-02 Thread Eric Snow
New submission from Eric Snow: Between comments on issue16991 and review comments there, it's clear that the implementation of _odict_resize and _odict_get_index in Objects/odictobject.c are too complicated to be a long-term solution. simplifying the approach to avoid recursion should help su