-
-
Notifications
You must be signed in to change notification settings - Fork 409
Description
Requested Feature
Follow-on work from #2608
It would be good to know if Sopel can run under the new (as of 3.13.0) CPython support for free-threading. This issue exists to represent that work.
At time of filing no specific feature work is anticipated for this, but it is likely that there are blockers in upstream dependencies that would require some adjustments to version to support free-threading, so I expect this to evolve as we learn more about how Sopel behaves in this mode.
Problems Solved
Although Sopel has excellent support for running each Trigger event on a separate Thread, the GIL means that only one of these threads will be doing something useful at any given moment. Free-threading could provide a nice boost in bot performance when handling multiple simultaneous events, e.g. across multiple active channels.
It is also helpful to know what potential issues are along this path of development, even if free-threading is not a priority feature. Think of it as 'feature reconnaissance'.
Alternatives
Ignore free-threading.
Notes
I am filing this issue because I've just become aware of the existence of the pytest-freethreaded plugin that aims to make this kind of testing for free-threading support more straightforward.