Sorry for the brainfart earlier. We've got a discussion in our "ideas"
database already about this, start reading here:
https://github.com/faster-cpython/ideas/issues/16#issuecomment-881439738

On Sun, Oct 10, 2021 at 2:55 PM Dennis Sweeney <sweeney.dennis...@gmail.com>
wrote:

> STORE_FAST can also be caused by the assignment to a loop variable, so
> STORE/LOAD pairs can come about with things like this:
>
>     >>> def f():
>     ...     for x in stuff:
>     ...         x.work()
>     ...
>     ...
>     >>> from dis import dis
>     >>> dis(f)
>     2           0 LOAD_GLOBAL              0 (stuff)
>                 2 GET_ITER
>             >>    4 FOR_ITER                 6 (to 18)
>                 6 STORE_FAST               0 (x)
>
>     3           8 LOAD_FAST                0 (x)
>                 10 LOAD_METHOD              1 (work)
>                 12 CALL_METHOD              0
>                 14 POP_TOP
>                 16 JUMP_ABSOLUTE            2 (to 4)
>
>     2     >>   18 LOAD_CONST               0 (None)
>                 20 RETURN_VALUE
>
> I'd guess that they'd be somewhat common in comprehensions too:
>
>     >>> dis(x**2 for x in range(1000))
>                 0 GEN_START                0
>
>     1           2 LOAD_FAST                0 (.0)
>             >>    4 FOR_ITER                 7 (to 20)
>                 6 STORE_FAST               1 (x)
>                 8 LOAD_FAST                1 (x)
>                 10 LOAD_CONST               0 (2)
>                 12 BINARY_POWER
>                 14 YIELD_VALUE
>                 16 POP_TOP
>                 18 JUMP_ABSOLUTE            2 (to 4)
>             >>   20 LOAD_CONST               1 (None)
>                 22 RETURN_VALUE
>
>
> In fact, there's already a bpo issue from 2019:
> https://bugs.python.org/issue38381
> _______________________________________________
> Python-Dev mailing list -- python-dev@python.org
> To unsubscribe send an email to python-dev-le...@python.org
> https://mail.python.org/mailman3/lists/python-dev.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-dev@python.org/message/73BMYW3TY7PJB7KRQ3Q3OROGU5UJVJAW/
> Code of Conduct: http://python.org/psf/codeofconduct/
>


-- 
--Guido van Rossum (python.org/~guido)
*Pronouns: he/him **(why is my pronoun here?)*
<http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/BPDXGJYAMI7UCIDECB5XXQ6VQ4LGH7OG/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to