New issue 2231: List comprehensions much faster after unrolling
https://bitbucket.org/pypy/pypy/issues/2231/list-comprehensions-much-faster-after

Silvio Ricardo Cordeiro:

The following code is much faster after unrolling the list comprehension 
(commenting out the first my_list line and using the second one instead):

```
#!python
indexes = range(5)
def get(i): return 42

for i in range(100*1000*1000):
    my_list = [get(i) for i in indexes]  # list-compr
    #my_list = [get(0), get(1), get(2), get(3), get(4)]   # unrolled
```

On my local machine:

```
Interpreter         list-compr     unrolled      unrolled-with-append
PyPy 2 (v2.2.1)        7.8s          1.8s               2.9s
PyPy 2 (v4.0.1)        6.2s          1.1s               1.9s
PyPy 3 (v2.4.0)       11.3s          1.8s               2.9s
```

(The table also show results for unrolling using append instead of creating the 
list in a single statement).

Are there any plans on improving list comprehensions, or is there any 
limitation I'm not aware of?


_______________________________________________
pypy-issue mailing list
pypy-issue@python.org
https://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to