I sometimes use timeit to see if it's better to check if something needs doing, 
or to just do it anyway. This result was surprising:

setup =  'd1 = {"a":0, "b":0}; d2 = {"a":0, "b":1}'

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.

Regards,

John
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to