[Python-Dev] performance of {} versus dict()
martin at v.loewis.de
martin at v.loewis.de
Wed Nov 14 11:11:39 CET 2012
Zitat von Chris Withers <chris at simplistix.co.uk>:
> a_dict = dict(
> x = 1,
> y = 2,
> z = 3,
> ...
> )
> What can we do to speed up the former case?
It should be possible to special-case it. Rather than creating
a new dictionary from scratch, one could try to have the new dictionary
the same size as the original one, and copy all entries.
I also wonder whether the PyArg_ValidateKeywordArguments call is really
necessary: if this is not a proper keyword dictionary, dict creation
could still proceed in a reasonable way.
I don't know how much this would gain, though. You still have to
create two dictionary objects. For a better speedup, try
def xdict(**kwds):
return kwds
(possibly written in C for even more speed)
Regards,
Martin
More information about the Python-Dev
mailing list