Message51883
Speed measurements show a significant speed up over trunk & Python 2.4 for module/class level code:
(Python 2.4)$ python -m timeit -s "seq=range(1000)" "[[x for x in seq] for y in seq]"
10 loops, best of 3: 239 msec per loop
(Python 2.x trunk)$ ./python -m timeit -s "seq=range(1000)" "[[x for x in seq] for y in seq]"
10 loops, best of 3: 193 msec per loop
(Python 3000)$ ./python -m timeit -s "seq=range(1000)" "[[x for x in seq] for y in seq]"
10 loops, best of 3: 176 msec per loop
This is almost certainly due to the variables and the list object becoming function locals.
There is a slowdown inside a function (but we are still faster than Python 2.4):
(Python 2.4)$ python -m timeit -s "seq=range(1000)" -s "def f(): return [[x for x in seq] for y in seq]" "f()"
10 loops, best of 3: 259 msec per loop
(Python 2.x trunk)$ ./python -m timeit -s "seq=range(1000)" -s "def f(): return [[x for x in seq] for y in seq]" "f()"
10 loops, best of 3: 176 msec per loop
(Python 3000)$ ./python -m timeit -s "seq=range(1000)" -s "def f(): return [[x for x in seq] for y in seq]" "f()"
10 loops, best of 3: 185 msec per loop
|
|
Date |
User |
Action |
Args |
2007-08-23 15:56:35 | admin | link | issue1660500 messages |
2007-08-23 15:56:35 | admin | create | |
|