[Python-ideas] Let's be more orderly!

Ethan Furman ethan at stoneleaf.us
Wed May 15 04:54:57 CEST 2013


On 05/14/2013 07:38 PM, Daniel Holth wrote:
> On Tue, May 14, 2013 at 10:07 PM, Ethan Furman <ethan at stoneleaf.us> wrote:
>> On 05/14/2013 06:57 PM, Don Spaulding wrote:
>>>
>>> On Tue, May 14, 2013 at 5:23 PM, Andrew Barnert <abarnert at yahoo.com
>>> <mailto:abarnert at yahoo.com>> wrote:
>>>
>>>
>>>      On May 14, 2013, at 12:53, Jonathan Eunice <jonathan.eunice at gmail.com
>>> <mailto:jonathan.eunice at gmail.com>> wrote:
>>>
>>>>      Using a compatible, separate implementation for |OrderedDict| is a
>>>> fine way to gracefully extend the language, but
>>>>      it leaves ordering only half-accomodated. Consider:
>>>>
>>>>      OrderedDict(a=2,  b=3,  c=7)
>>>>
>>>      If your proposal is to replace dict with OrderedDict, I think you need
>>> at least one use case besides OrderedDict's
>>>      constructor.
>>>
>>>
>>> I don't understand the dismissal of OrderedDict.__init__ as an invalid use
>>> case.
>>
>>
>> It's not being dismissed, but it's only one.  There are thousands of
>> functions using **kwds that simply don't care about the order.  Should they
>> all pay the performance price so that some tiny fraction can benefit?
>>
>> While it is correctly said that if performance is a Big Deal you shouldn't
>> be using Python, we also are not interested in making it slower without a
>> really good reason.
>
> I'm not convinced that the performance argument is valid. There are
> clever ways to optimize ordered dicts. It would be quite a change to
> the language.

Best way to find out is branch and try it.  Then we'll have hard numbers instead of lots of hand waving and opinions.  ;)

If any performance hit is negligible I would certainly be interested in having them.

--
~Ethan~


More information about the Python-ideas mailing list