dict.get and str.xsplit
bearophileHUGS at lycos.com
bearophileHUGS at lycos.com
Tue Feb 26 09:40:28 EST 2008
Marc 'BlackJack' Rintsch:
> I guess it's the method lookup that's the slow part. Factor it out of the
> loop and measure again::
I did know of that optimization, but sometimes I "forget" about it...
The new timings:
Output timings, best of 3, unloaded CPU:
2.32 s with adict.get
1.56 s with "in" + if/then/else
1.78 s with adict_get
It's slower still, despite doing the lookup two times half of the
times (half keys are present in the test set). The "in" is an
operator, it's faster than a method call, but I don't understand the
other details. Now the difference between 1.78 and 1.56 is small
enough, so probably now it's not much noticeable in practice in real
programs, so my original argument is mostly dead now :-) In the code
points where speed matters instead of a single line with a get() I can
use two lines to create a local adict_get.
Bye and thank you,
bearophile
More information about the Python-list
mailing list