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 Mark.Shannon, fabioz, ncoghlan, nedbat, python-dev, vstinner
Date 2022-01-21.11:01:39
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1642762899.71.0.263571049389.issue42197@roundup.psfhosted.org>
In-reply-to
Content
While the various frame and debugger PEPs that are open offer a better solution to this, they might not be accepted for 3.11.

So I'd like to revisit this.


Removing the calls to `PyFrame_FastToLocals` and friends cuts the overhead of tracing down a lot. A *lot*.

Using Fabio's example I get the following slowdowns:
No calls to   PyFrame_FastToLocals`: x10
Main branch with one local variable: x16
Main branch with six locals variables: x50

This is quite a compelling reason to remove the calls to `PyFrame_FastToLocals`.

The questions is "what will we break doing this"?
All the tests pass, so that seems promising.

Ned, how would this impact coverage.py?
History
Date User Action Args
2022-01-21 11:01:39Mark.Shannonsetrecipients: + Mark.Shannon, ncoghlan, vstinner, fabioz, nedbat, python-dev
2022-01-21 11:01:39Mark.Shannonsetmessageid: <1642762899.71.0.263571049389.issue42197@roundup.psfhosted.org>
2022-01-21 11:01:39Mark.Shannonlinkissue42197 messages
2022-01-21 11:01:39Mark.Shannoncreate