This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
| Author | alex |
|---|---|
| Recipients | alex |
| Date | 2012年02月25日.23:29:25 |
| SpamBayes Score | 0.0018941681 |
| Marked as misclassified | No |
| Message-id | <1330212567.11.0.0699848649478.issue14126@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
This adds a new opcode which for certain list comprehensions (ones with no if statements and only a single comprehension), preallocates the list to the appropriate size. Patch is against 2.7, because it was a bit easier. On: def f(): for i in range(10000): [j for j in range(10000)] f() Here's the speedup: alex@alex-gaynor-laptop:/tmp$ # Fresh 2.7 branch alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m6.418s user 0m6.408s sys 0m0.004s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m5.670s user 0m5.648s sys 0m0.008s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m5.688s user 0m5.672s sys 0m0.008s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m5.688s user 0m5.676s sys 0m0.004s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m5.690s user 0m5.684s sys 0m0.000s alex@alex-gaynor-laptop:/tmp$ alex@alex-gaynor-laptop:/tmp$ alex@alex-gaynor-laptop:/tmp$ # With patch alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m6.085s user 0m6.064s sys 0m0.008s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m5.728s user 0m5.720s sys 0m0.004s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m5.783s user 0m5.772s sys 0m0.004s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m4.730s user 0m4.716s sys 0m0.008s alex@alex-gaynor-laptop:/tmp$ time ~/projects/cpython/python t.py real 0m4.691s user 0m4.680s sys 0m0.004s |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2012年02月25日 23:29:27 | alex | set | recipients: + alex |
| 2012年02月25日 23:29:27 | alex | set | messageid: <1330212567.11.0.0699848649478.issue14126@psf.upfronthosting.co.za> |
| 2012年02月25日 23:29:26 | alex | link | issue14126 messages |
| 2012年02月25日 23:29:26 | alex | create | |