GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GH-100000: Cleanup and polish various watchers code by itamaro · Pull Request #99998 · python/cpython

Conversation

@itamaro

@itamaro itamaro commented Dec 5, 2022 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

This includes:

  1. Followup on @markshannon's comment, improving code watchers dispatch efficiency (read callback only if watcher is on the active watchers bits, and bail out early from dispatch loop)
  2. Apply same optimization to func watchers dispatch loop as well
  3. Remove dict watchers array that was never used
  4. Add initialization of type watchers array
  5. Add (PyCFunction) cast to a few test functions
  6. Change an invariant test in type watchers dispatch loop to an assert
  • Issue: Polish and cleanup watchers code #100000

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
itamaro added 4 commits December 4, 2022 14:21
@itamaro
Cleanup nits in watchers-related code
468ef72
- Remove `dict_watchers` array on the interpreter state (was never used, likely added in [the function watchers
PR](https://github.com/python/cpython/pull/98175/files#diff-cb06b7ba43789a1d6ae5bef46baa8a255b72dbcd2b44bfec7f146ea4e94dbfa0) when resolving a merge conflict)
- Cast `METH_NOARGS` function to `(PyCFunction)` in watchers test methods
- Initialize `type_watchers` array to `NULL`s
@itamaro
Optimize code watchers notification
d380f0c
@itamaro
Replace invariant test with assert in type watchers notification
8e2e17a
@itamaro
Optimize func watchers notification
0eaed3e
@itamaro
itamaro requested a review from markshannon as a code owner December 5, 2022 00:40
@bedevere-bot bedevere-bot added the awaiting review label Dec 5, 2022
@itamaro

itamaro commented Dec 5, 2022

Copy link
Copy Markdown
Contributor Author

I'm pretty sure this doesn't require a news entry, but not sure whether an issue is needed. let me know and I can file an issue if needed!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

This was referenced Dec 5, 2022
gh-91054: Add code object watchers API #99859
Merged
Polish and cleanup watchers code #100000
Closed
@itamaro itamaro changed the title Cleanup and polish various watchers code GH-100000: Cleanup and polish various watchers code Dec 5, 2022
@itamaro

itamaro commented Dec 5, 2022

Copy link
Copy Markdown
Contributor Author

filed an issue preemptively, got the nice and round GH-100000 ^_^

sweeneyde, hugovk, CharlieZhao95, bharel, markshannon, osfanbuff63, and Signko reacted with hooray emoji
All reactions
  • 🎉 7 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@carljm carljm added the skip news label Dec 5, 2022
carljm
carljm approved these changes Dec 5, 2022
View reviewed changes

@carljm carljm left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Looks good to me, thanks for the cleanup!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

itamaro reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Comment thread Objects/funcobject.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot added awaiting core review and removed awaiting review labels Dec 5, 2022
itamaro added 3 commits December 5, 2022 11:34
@itamaro
Merge branch 'main' into watchers-polish
28b1d8d
@itamaro
Replace invariant test with assert in function watchers dispatch
40044c0
@itamaro
Merge branch 'main' into watchers-polish
80f9519
@netlify

netlify Bot commented Dec 13, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

✅ Deploy Preview for python-cpython-preview canceled.

Name Link
🔨 Latest commit 80f9519
🔍 Latest deploy log https://app.netlify.com/sites/python-cpython-preview/deploys/6398fc1a4db9f00008dcde31
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@markshannon

markshannon commented Dec 14, 2022

Copy link
Copy Markdown
Member

Looks good. Thanks.

itamaro reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@markshannon
markshannon merged commit ae83c78 into python:main Dec 14, 2022
@bedevere-bot bedevere-bot removed the awaiting core review label Dec 14, 2022
carljm added a commit to carljm/cpython that referenced this pull request Dec 16, 2022
@carljm
Merge branch 'main' into fastmock
2260a54
* main:
  Improve stats presentation for calls. (pythonGH-100274)
  Better stats for `LOAD_ATTR` and `STORE_ATTR` (pythonGH-100295)
  pythongh-81057: Move the Cached Parser Dummy Name to _PyRuntimeState (python#100277)
  Document that zipfile's pwd parameter is a `bytes` object (python#100209)
  pythongh-99767: mark `PyTypeObject.tp_watched` as internal use only in table (python#100271)
  Fix typo in introduction.rst (python#100266)
  pythongh-78997: AttributeError if loading fails in LibraryLoader.__getattr__
  pythonGH-100234: Set a default value for random.expovariate() (pythonGH-100235)
  Remove uninformative itertools recipe (pythonGH-100253)
  pythonGH-99767: update PyTypeObject docs for type watchers (pythonGH-99928)
  Move stats for the method cache into the `Py_STAT` machinery (pythonGH-100255)
  pythonGH-100222: fix typo _py_set_opocde -> _py_set_opcode (pythonGH-100259)
  pythonGH-100000: Cleanup and polish various watchers code (pythonGH-99998)
  pythongh-90111: Minor Cleanup for Runtime-Global Objects (pythongh-100254)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@carljm carljm carljm approved these changes
@markshannon markshannon Awaiting requested review from markshannon markshannon is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@itamaro @markshannon @carljm @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.