You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/ericsnowcurrently'closed_at=<Date2015-06-07.19:03:42.123>created_at=<Date2015-06-02.14:00:31.608>labels= ['type-bug', 'library', 'release-blocker']
title='Simplify the fast nodes resize logic in C OrderedDict.'updated_at=<Date2015-06-07.19:03:42.122>user='https://github.com/ericsnowcurrently'
Between comments on bpo-16991 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 substantially.
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.
And the XXX comment looks right, updating od_size could be moved
down. I suspect that updating it too early was the cause for bpo-24361, which is also solved by this patch.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: