MAINT: replace PyThread_type_lock with PyMutex on Python >= 3.13.0b3#27011
Merged
mattip merged 6 commits intonumpy:mainfrom Jul 24, 2024
Merged
MAINT: replace PyThread_type_lock with PyMutex on Python >= 3.13.0b3#27011mattip merged 6 commits intonumpy:mainfrom
mattip merged 6 commits intonumpy:mainfrom
Conversation
Member
I think that would be nice. Anyone using the beta releases does so at their own peril. |
Member
Author
Done |
Member
|
Thanks @ngoldbaum |
16 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PyMutex is available in the public C API starting in 3.13.0b3 which our CI should be running.
My understanding is that PyMutex is faster than PyThread_type_lock in all cases and that it should be used whenever it's available instead of PyThread_type_lock.
There's one usage inside a
Py_GIL_DISABLEDblock. We now fail to compile on 3.13.0b2 and older if we don't want to keep thePyThread_type_lockcode.