One of the main limitations of Python has been its inability to make use of the multiple cores of modern CPUs, at least not easily. This is due to the infamous Global Interpreter Lock. In essence, due to the presence of the GIL, only one python thread can execute at a time,
Python 3.13 has changed this and provides an experimental free-threaded (or No-GIL) version. It is included in the standard installer, but you need to select the relevant option (see below) to install it.
What you get is a another python executable called python3.13t.exe alongside python.exe. This executable runs the free-threaded version of python.
This RealPython article provides an in-depth coverage of free-threaded python and is recommended reading. .
The next version of PyScripter will include support for free-treaded Python. The Run, Python Engine submenu now includes an option to use the Free-Threaded version if is available. It also allows you to easily switch between the standard and free-threaded version.
🐍 CPython 3.13.0 C:\Python\Python313\python.exe
Free Threading: unsupported
=======================================================================
Running 20 threads...: 15.07s
💻 Windows 64bit with 20x CPU cores (Intel64 Family 6 Model 151 Stepping 2, GenuineIntel Little Endian)
🐍 CPython 3.13.0 C:\Python\Python313\python3.13t.exe
Free Threading: enabled ✨
========================================================================
Running 20 threads...: 2.81s
No comments:
Post a Comment