| 
1 | 1 | .. _freethreading-python-howto:  | 
2 | 2 | 
 
  | 
3 |  | -**********************************************  | 
4 |  | -Python experimental support for free threading  | 
5 |  | -**********************************************  | 
 | 3 | +*********************************  | 
 | 4 | +Python support for free threading  | 
 | 5 | +*********************************  | 
6 | 6 | 
 
  | 
7 |  | -Starting with the 3.13 release, CPython has experimental support for a build of  | 
 | 7 | +Starting with the 3.13 release, CPython has support for a build of  | 
8 | 8 | Python called :term:`free threading` where the :term:`global interpreter lock`  | 
9 | 9 | (GIL) is disabled.  Free-threaded execution allows for full utilization of the  | 
10 | 10 | available processing power by running threads in parallel on available CPU cores.  | 
11 | 11 | While not all software will benefit from this automatically, programs  | 
12 | 12 | designed with threading in mind will run faster on multi-core hardware.  | 
13 | 13 | 
 
  | 
14 |  | -**The free-threaded mode is experimental** and work is ongoing to improve it:  | 
15 |  | -expect some bugs and a substantial single-threaded performance hit.  | 
 | 14 | +The free-threaded mode is working and continues to be improved, but  | 
 | 15 | +there is some additional overhead in single-threaded workloads compared  | 
 | 16 | +to the regular build. Additionally, third-party packages, in particular ones  | 
 | 17 | +with an :term:`extension module`, may not be ready for use in a  | 
 | 18 | +free-threaded build, and will re-enable the :term:`GIL`.  | 
16 | 19 | 
 
  | 
17 | 20 | This document describes the implications of free threading  | 
18 | 21 | for Python code.  See :ref:`freethreading-extensions-howto` for information on  | 
@@ -43,7 +46,7 @@ Identifying free-threaded Python  | 
43 | 46 | ================================  | 
44 | 47 | 
 
  | 
45 | 48 | To check if the current interpreter supports free-threading, :option:`python -VV <-V>`  | 
46 |  | -and :data:`sys.version` contain "experimental free-threading build".  | 
 | 49 | +and :data:`sys.version` contain "free-threading build".  | 
47 | 50 | The new :func:`sys._is_gil_enabled` function can be used to check whether  | 
48 | 51 | the GIL is actually disabled in the running process.  | 
49 | 52 | 
 
  | 
 | 
0 commit comments