[Python-Dev] [RFC] Removing pure Python implementation of OrderedDict
Eric Snow
ericsnowcurrently at gmail.com
Tue Sep 5 13:13:59 EDT 2017
On Tue, Sep 5, 2017 at 1:38 AM, INADA Naoki <songofacandy at gmail.com> wrote:
> Like that, how about removing OrderedDict Pure Python implementation
> from stdlib and require it to implementation?
-1
Like Antoine, I consider the pure Python implementation to be
valuable. Furthermore, the pure Python implementation is the
reference, so its behavior is idiomatic.
> ### Thread safety
>
> AFAIK, there are no thread safety guarantee in OrderedDict.
> I don't look carefully, but some methods seems thread unsafe.
What isn't thread-safe? I know that Raymond has a good understanding
of this area. For instance, he was very clear about re-entrancy
concerns when I was working on the C implementation. I recommend
getting feedback from him on this. FWIW, I don't recall any bugs
related to thread-safety in OrderedDict, even though it's been around
a while.
> [snip]
>
> ### Less maintenance cost of test_ordered_dict.
>
> [snip]
I don't find this to be a strong argument. If there are concerns with
the reference behavior then those should be addressed rather than used
to justify removing the implementation.
> ### `import collections` bit faster.
>
> [snip]
This is not a strong argument. The difference is not significant
enough to warrant removing the reference implementation.
So, again, I'm against removing the pure Python implementation of
OrderedDict. I highly recommend making sure you have Raymond's
cooperation before making changes in the collections module.
-eric
More information about the Python-Dev
mailing list