"John O'Hagan" <resea...@johnohagan.com> writes:
> Timer('d1.update(d2)', setup).timeit()
> 2.6499271392822266
> 
> Timer('if d1 != d2: d1.update(d2)', setup).timeit()
> 1.0235211849212646
> 
> In other words, in this case it's substantially quicker to check for
> something and then proceed, than it is to just proceed! I'm curious
> about the explanation.

Looks to me like in both versions, d2 is only initialized once, so
the d1.update in the second case only gets called on the first loop.
It's not so surprising that comparing d1 and d2 is faster than
actually updating d1.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to