[Python-Dev] Ordering keyword dicts

Alexander Belopolsky alexander.belopolsky at gmail.com
Mon Jun 10 05:13:43 CEST 2013


On Sun, May 19, 2013 at 1:47 AM, Guido van Rossum <guido at python.org> wrote:

> I'm slow at warming up to the idea. My main concern is speed -- since
> most code doesn't need it and function calls are already slow (and
> obviously very common :-) it would be a shame if this slowed down
> function calls that don't need it noticeably.
>

Here is an idea that will not affect functions that don't need to know the
order of keywords: a special __kworder__ local variable.  The use of this
variable inside the function will signal compiler to generate additional
bytecode to copy keyword names from the stack to a tuple and save it in
__kworder__.    With that feature, an OrderedDict constructor, for example
can be written as

def odict(**kwargs):
      return OrderedDict([(key, kwargs[key]) for key in __kworder__])
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20130609/f09b6403/attachment.html>


More information about the Python-Dev mailing list