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.
- relates to
-
PYSIDE-1819 PySide GIL locking semantics are undocumented creating deadlock potential
-
- Open
-
For Gerrit Dashboard: PYSIDE-2221 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
459935,27 | WIP: Disable GIL: Implement free threading for Python 3.13 | dev | pyside/pyside-setup | Status: NEW | -2 | 0 |
652346,15 | handover: Save status information of unfinished work | dev | pyside/pyside-setup | Status: NEW | -1 | 0 |
657290,5 | WIP: Disable GIL/PySide6: Protect the signal connection hash by a mutex | dev | pyside/pyside-setup | Status: NEW | -2 | 0 |
660548,1 | WIP: Disable GIL: Lock updateSourceObject() | dev | pyside/pyside-setup | Status: NEW | -2 | 0 |
660549,1 | WIP: Disable GIL: Lock SbkDeallocWrapper | dev | pyside/pyside-setup | Status: NEW | -2 | 0 |
660550,1 | Disable GIL: Add stress test | dev | pyside/pyside-setup | Status: NEW | 0 | 0 |
660551,1 | WIP: Disable GIL: Remainder | dev | pyside/pyside-setup | Status: NEW | -2 | 0 |