Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-104580: No local eval breaker #104581

Merged
merged 4 commits into from
May 18, 2023

Conversation

markshannon
Copy link
Member

@markshannon markshannon commented May 17, 2023

This PR:

  • Drops the locally cached pointer to the eval-breaker from PyEval_EvalDefault()
  • Moves the eval-breaker to be the first field in the interpreter state, since it is the hottest field.

A little bit faster, but might just be noise.

@markshannon
Copy link
Member Author

No need for a news item, as we are just eliminating a local variable.

@markshannon markshannon requested a review from brandtbucher May 17, 2023 14:09
Copy link
Member

@brandtbucher brandtbucher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice change. Are you waiting for 3.13, or landing for 3.12?

@markshannon
Copy link
Member Author

It's not a new feature. So why not?

@markshannon markshannon merged commit 68b5f08 into python:main May 18, 2023
carljm added a commit to carljm/cpython that referenced this pull request May 18, 2023
* main:
  pythongh-74690: Don't set special protocol attributes on non-protocol subclasses of protocols (python#104622)
  pythongh-104623: Update Windows installer to use SQLite 3.42.0 (python#104625)
  pythongh-104050: Add more type annotations to Argument Clinic (python#104628)
  pythongh-104629: Don't skip test_clinic if _testclinic is missing (python#104630)
  pythongh-104549: Set __module__ on TypeAliasType (python#104550)
  pythongh-104050: Improve some typing around `default`s and sentinel values (python#104626)
  pythongh-104146: Remove unused vars from Argument Clinic (python#104627)
  pythongh-104615: don't make unsafe swaps in apply_static_swaps (python#104620)
  pythonGH-104484: Add case_sensitive argument to `pathlib.PurePath.match()` (pythonGH-104565)
  pythonGH-96803: Document and test new unstable internal frame API functions (pythonGH-104211)
  pythonGH-104580: Don't cache eval breaker in interpreter (pythonGH-104581)
@markshannon markshannon deleted the no-local-eval-breaker branch September 26, 2023 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants