Hrvoje Niksic wrote:

> For ordinalSum, using imap is almost twice as fast:
> 
> $ python -m timeit -s 'data=[chr(x) for x in xrange(256)]' 'sum(ord(x) for x 
> in data)'
> 10000 loops, best of 3: 92.4 usec per loop
> $ python -m timeit -s 'data=[chr(x) for x in xrange(256)]; from itertools 
> import imap' 'sum(imap(ord, data))'
> 10000 loops, best of 3: 55.4 usec per loop

You're using data which is a list of chars (strings), rather than a 
string itself, which is what the format is in.  The imap optimization 
doesn't appear to work quite as dramatically well for me with strings 
instead of lists, but it certainly is an improvement.

> Of course, that optimization doesn't work for the squared sum; using a
> lambda only pessimizes it.

Right.

-- 
Erik Max Francis && [EMAIL PROTECTED] && http://www.alcyone.com/max/
  San Jose, CA, USA && 37 20 N 121 53 W && AIM, Y!M erikmaxfrancis
   Experience is the name everyone gives to their mistakes.
    -- Oscar Wilde
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to