Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ```python
- import time
- import dis
- ```
- ```python
- %%timeit
- a = list(range(2**20))
- ```
- 10 loops, best of 3: 25.5 ms per loop
- ```python
- %%timeit
- a = list(i for i in range(2**20))
- ```
- 10 loops, best of 3: 60.1 ms per loop
- ```python
- %%timeit
- a = [i for i in range(2**20)]
- ```
- 10 loops, best of 3: 39.3 ms per loop
- ```python
- %%timeit
- a = []
- for i in range(2**20):
- a.append(i)
- ```
- 10 loops, best of 3: 76.6 ms per loop
- ```python
- pairs = [(i,i) for i in range(2**20)]
- ints = list(range(2**20))
- ```
- ```python
- %%timeit
- a = dict(pairs)
- ```
- 10 loops, best of 3: 50.1 ms per loop
- ```python
- %%timeit
- a = dict((i,i) for i in ints)
- ```
- 10 loops, best of 3: 95.9 ms per loop
- ```python
- %%timeit
- a = {i for i in pairs}
- ```
- 1 loop, best of 3: 213 ms per loop
- ```python
- %%timeit
- a = {i: i for i in ints}
- ```
- 10 loops, best of 3: 59.5 ms per loop
- ```python
- %%timeit
- a = {i: j for i, j in enumerate(ints)}
- ```
- 10 loops, best of 3: 87.1 ms per loop
- ```python
- dis.dis(compile('list(range(2**20))', '<stdin>', 'exec'))
- ```
- 1 0 LOAD_NAME 0 (list)
- 3 LOAD_NAME 1 (range)
- 6 LOAD_CONST 3 (1048576)
- 9 CALL_FUNCTION 1 (1 positional, 0 keyword pair)
- 12 CALL_FUNCTION 1 (1 positional, 0 keyword pair)
- 15 POP_TOP
- 16 LOAD_CONST 2 (None)
- 19 RETURN_VALUE
- ```python
- dis.dis(compile('[i for i in range(2**20)]', '<stdin>', 'exec'))
- ```
- 1 0 LOAD_CONST 0 (<code object <listcomp> at 0x7fe20c574d20, file "<stdin>", line 1>)
- 3 LOAD_CONST 1 ('<listcomp>')
- 6 MAKE_FUNCTION 0
- 9 LOAD_NAME 0 (range)
- 12 LOAD_CONST 5 (1048576)
- 15 CALL_FUNCTION 1 (1 positional, 0 keyword pair)
- 18 GET_ITER
- 19 CALL_FUNCTION 1 (1 positional, 0 keyword pair)
- 22 POP_TOP
- 23 LOAD_CONST 4 (None)
- 26 RETURN_VALUE
- ```python
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement