On Thu, Feb 28, 2013 at 4:27 AM, Antoine Pitrou <solipsis@pitrou.net> wrote:
Le Thu, 28 Feb 2013 03:15:14 -0700,
Eric Snow <ericsnowcurrently@gmail.com> a
écrit :
> Just wanted to put out some feelers for the feasibility of these two
> features:
>
> * have the **kwargs param be an OrderedDict rather than a dict

Rather than just feasibility, I would like performance not to regress
here.


I can appreciate not wanting to see "Python 3.4 killed our performance" articles all over news.ycombinator.com.  But isn't it worth it to have a (small, but acceptable) performance hit for the sake of opening up use cases which are not currently possible in Python without ugly hacks?

For an example of the "recommended" way to get the ordering of your class attributes:
http://stackoverflow.com/questions/3288107/how-can-i-get-fields-in-an-original-order

It seems to me that the "right thing" for python to do when given an ordered list of key=value pairs in a function call or class definition, is to retain the order.  So what's an acceptable level of performance regression for the sake of doing things the "right way" here?