X Tutup
The Wayback Machine - https://web.archive.org/web/20221207034327/https://github.com/python/cpython/pull/99998
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-100000: Cleanup and polish various watchers code #99998

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

itamaro
Copy link
Contributor

@itamaro itamaro commented Dec 5, 2022

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

itamaro added 4 commits Dec 4, 2022
- 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
Copy link
Contributor Author

itamaro commented Dec 5, 2022

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!

@itamaro itamaro changed the title Cleanup and polish various watchers code GH-100000: Cleanup and polish various watchers code Dec 5, 2022
@itamaro
Copy link
Contributor Author

itamaro commented Dec 5, 2022

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

carljm
carljm approved these changes Dec 5, 2022
Copy link
Contributor

@carljm carljm left a comment

Looks good to me, thanks for the cleanup!

Objects/funcobject.c Outdated Show resolved Hide resolved
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.

None yet

3 participants
X Tutup