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 Mark.Shannon
Recipients BTaskaya, Mark.Shannon, nedbat, pablogsal, rhettinger, serhiy.storchaka
Date 2020-12-22.21:57:34
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1608674254.36.0.991886779305.issue42693@roundup.psfhosted.org>
In-reply-to
Content
Are you interested in the "what" or the "how"?

The "what":
    PEP 626 defines what CPython must do in terms of tracing lines executed.

The "how":
    Obviously, we want to execute Python as efficiently as possible.
To do so, we use a series of "peephole" optimizations that make the bytecode more efficient but preserve PEP 626 semantics.

The front-end of the compiler produces code that conforms to PEP 626.
The optimizer should make the bytecode faster, while still conforming to PEP 626. Since the optimizer is inherited from 3.9, it doesn't always respect PEP 626. I am in the process of fixing that.

If you need to know what the optimizer does, in order to correctly implement coverage.py, then that is a bug in the optimizer.

Zero-width entries will, in theory, allow some additional optimizations.
But probably not that much, in practice.
History
Date User Action Args
2020-12-22 21:57:34Mark.Shannonsetrecipients: + Mark.Shannon, rhettinger, nedbat, serhiy.storchaka, pablogsal, BTaskaya
2020-12-22 21:57:34Mark.Shannonsetmessageid: <1608674254.36.0.991886779305.issue42693@roundup.psfhosted.org>
2020-12-22 21:57:34Mark.Shannonlinkissue42693 messages
2020-12-22 21:57:34Mark.Shannoncreate