Details
Description
Python 3.12 is probably starting to support a no-gil configuration. PySide should to find the necessary changes to enable that in the PySide project. The anticipated community reaction
is quite huge, since that will make Python really performant.
Currently, there is only a prototype implementation that we are using. It is based on Python nogil-3.9.10-1 with a register machine and different opcodes. This version is by no means the version expected for the fall, when Python 3.12 should come into existence with NoGIL.
It is not clear whether this branch will be continued at all. This depends very much
on business decisions. I just wanted to make sure of the feasibility, but I'm not implementing it yet.
The feasibility is definitely there if they have the right people and time.
See What’s New In Python 3.13 and PEP 703 – Making the Global Interpreter Lock Optional in CPython
Attachments
Issue Links
- is duplicated by
-
PYSIDE-2776 Free-threaded CPython and PySide
- Closed
- relates to
-
PYSIDE-1819 PySide GIL locking semantics are undocumented creating deadlock potential
- Open
-
PYSIDE-1931 Pyside2 app hangs in QSqlQueryModel.setQuery() connecting to database over paramiko/sshtunnel (PostGres)
- Closed
Gerrit Reviews
For Gerrit Dashboard: PYSIDE-2221 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
459935,4 | NoGIL: supply fixes for most errors in tests | dev | pyside/pyside-setup | Status: NEW | 0 | 0 |
459936,7 | WIP: NoGIL: Add mutex to protect Bucket | dev | pyside/pyside-setup | Status: NEW | -2 | 0 |
459937,5 | NoGIL: Fix ~ObjectType() to handle children deleted before parents | dev | pyside/pyside-setup | Status: NEW | +1 | 0 |
458708,3 | nogil: Apply the first necessary fixes | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
458908,2 | shiboken: Simplify sys module attribute lookup | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
458910,2 | nogil: Adjust the forgiveness enum opcode patch | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
459185,2 | NoGIL: Disable all tests which use refcounting | dev | pyside/pyside-setup | Status: ABANDONED | 0 | 0 |
459188,4 | testing: make multiple_feature_test.py less verbose | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
459248,2 | NoGIL: Disable opcode tests in enum_test.py | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
575418,49 | libpyside: Reimplement signal connections for Python callables not targeting a QMetaMethod | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
596712,2 | Fix disconnecting from C functions (qobject_connect_notify_test flakyness) | 6.8 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
596731,3 | Fix disconnecting from C functions (qobject_connect_notify_test flakyness) | dev | pyside/pyside-setup | Status: MERGED | +2 | +1 |