[pypy-issue] Issue #2100: sum(map(foo)) is much slower than for loop (pypy/pypy)

Elliot Gorokhovsky issues-reply at bitbucket.org
Sun Jul 26 19:30:47 CEST 2015

New issue 2100: sum(map(foo)) is much slower than for loop

Elliot Gorokhovsky:

Hi, I originally had the following code:


sum(map(lambda x_bit, y_bit: x_bit & y_bit, x, reversed(y)))
It was extremely slow, I profiled it at more than 82 sec for an input that called it a few hundred thousand times. I then changed it, at the recommendation of [stack overflow](http://stackoverflow.com/questions/31639519/optimizing-python-one-liner/31639699#31639699), to this:


s = 0
for i,j in zip(x, reversed(y)):
    s += i & j
This profiled at about 12 sec on the same input. Why can't the JIT accelerate sum and map operations? I shoudln't have to explicitly write them out.

More information about the pypy-issue mailing list