Kísérleti JIT fordítóval gyorsul a Python 3.14 — a GIL-t is eltörölték
A Python 3.14-es verziója egy kísérleti Just-In-Time (JIT) fordítót kapott, amely a leggyakrabban futtatott kódrészleteket gépi kódra fordítja.

A CPython magfejlesztő csapata az elmúlt években végzett architekturális előkészületek után bevezette a Just-In-Time (JIT) fordítót a Python 3.14-es verzióban, amely a leggyakrabban futtatott kódrészleteket gépi kódra fordítja. A cél az volt, hogy növeljék a Python alapértelmezett sebességét anélkül, hogy megtörnék a C-kiterjesztések ökoszisztémáját. (Towards Data Science)
A hagyományos Python (CPython) egy interpretált nyelv: a futtatott kód bájtkódra fordítódik, amit a virtuális gép végrehajt. Az új JIT fordító ezt a folyamatot módosítja: a gyakran használt részeket (hot paths) felismeri, és bájtkódot natív gépi kódra fordítja. Ez jelentősen gyorsíthatja a kódok végrehajtását, mivel a következő hívásnál már nincs szükség interpretációra. A Python 3.14-ben a JIT bekapcsolása a PYTHON_JIT környezeti változóval történik, és a rendszer egy többemeletes (tiering) rendszert használ, ahol először a legolcsóbb futtatási módot, majd a leggyakrabban használt részeknél a JIT-et alkalmazza.
Kapcsolódó: GPU-kernelek Pythonból
JIT integráció az alaptelepítőkbe
A Python 3.14-ben a JIT funkció már az alapértelmezett telepítőkben (.msi és .pkg) megtalálható, így nem szükséges C-fordító a használatához. Ez a „copy-and-patch” technikának köszönhető, amely lehetővé teszi a JIT könnyűsúlyú és hordozható működését különböző CPU-architektúrákon. A funkció továbbra is kísérleti jellegű, de a hivatalos bináris fájlokba való beépítése arra utal, hogy a fejlesztők stabilnak ítélik a széleskörű teszteléshez.
Kapcsolódó: Universal Sparse Tensor
Performancia mérése és tesztelés
A JIT hatásának méréséhez a fejlesztők speciális benchmarkokat használnak, mivel a JIT-nek „felmelegedési” időre van szüksége. Az első futtatások lassabbak lehetnek, míg a rendszer profilozza a kódot, de az ezt követő iterációk jelentősen gyorsabbak lehetnek. A tesztcsomag három CPU-intenzív feladatot tartalmaz: Mandelbrot-függvény számítása, Dijkstra-algoritmus futtatása gráfon, valamint Levenshtein-távolság kiszámítása sztringpárokon. A tesztek eredményei a Python 3.14 hivatalos letöltési oldalán érhetők el.
Kapcsolódó: AI-ügynökök programnyelve