[Python-Dev] performance of {} versus dict()

Donald Stufft donald.stufft at gmail.com
Thu Nov 15 00:00:58 CET 2012


$ pypy -m timeit 'dict()'
1000000000 loops, best of 3: 0.000811 usec per loop

$ pypy -m timeit '{}'    
1000000000 loops, best of 3: 0.000809 usec per loop

$ pypy -m timeit 'def md(**kw): return kw; md()'
100000000 loops, best of 3: 0.0182 usec per loop

$ pypy -m timeit -s 'def md(**kw): return kw' 'md()'
1000000000 loops, best of 3: 0.00136 usec per loop

If the difference between dict() and {} is hurting your code why are
you still using CPython.



On Wednesday, November 14, 2012 at 5:51 PM, MRAB wrote:

> On 2012-11-14 21:40, Greg Ewing wrote:
> > Chris Angelico wrote:
> > > Perhaps an alternative question: What can be done to make the latter
> > > less unpalatable?
> > > 
> > 
> > 
> > * We could introduce a new syntax such as {a = 1, b = 2}.
> > 
> > * If the compiler were allowed to recognise builtins, it could
> > turn dict(a = 1, b = 2) into {'a':1, 'b':2} automatically.
> > 
> 
> That would be a transformation of the AST, although it assumes that
> 'dict' hasn't been rebound.
> 
> Should there be the option of a warning if a builtin is rebound? Or the
> option of the transformation plus a warning if the builtin is rebound?
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org (mailto:Python-Dev at python.org)
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/donald.stufft%40gmail.com
> 
> 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20121114/4aed86cd/attachment-0001.html>


More information about the Python-Dev mailing list