BTW, thanks for the feedback. :)
On Wed, Dec 17, 2014 at 11:30 AM, Antoine Pitrou
Other reservations:
- why aren't the linked list pointers not included in the hash entries? that should simplify some logic quite a bit
I'll look into that. If I recall correctly this came up in earlier discussion and there was a justification.
- is it useful to keep the shared / split keys mechanism? shared keys are mostly useful for instance dicts
I'm pretty sure this is an artifact of subclassing dict.
- does it have to inherit from dict? that looks like a potential can of worms
One of the constraints here is to make the C implementation of OrderedDict match the API of the Python type exactly and the underlying implementation as closely as reasonable. The Python type subclasses dict so the C implementation does as well. FWIW (and not directed to Antoine specifically), the implementation up for review may not be ideal, but it exists and is complete. :) Barring any substantial concerns during review (and the points Antoine has brought up), I would rather the patch landed than wait indefinitely for a more ideal implementation. That could happen afterward, though I'm fairly confident in the correctness and efficiency of the implementation. -eric