Python 3.13 inaugure une nouvelle ère avec deux fonctionnalités expérimentales majeures

Par:
francoistonic

ven, 11/10/2024 - 12:04

Post original d'Alexandre Dos Santos (AI Design Authority of the "IA Factory" for BNP Paribas French Commercial Banking), avec son aimable autorisation.

Depuis ses débuts, Python, bien qu'étant l'un des langages les plus populaires et les plus utilisés aujourd'hui, est critiqué pour deux limitations qui lui ont valu les étiquettes de "lent" et "gourmand en ressources" comparé à des langages comme Java ou C++ :

1 - Le GIL (Global Interpreter Lock) : qui limite le véritable parallélisme en ne permettant par l'exécution réelle de plusieurs threads en même temps sur plusieurs cœurs de processeur.

2 - Son mode d'exécution interprété : qui traduit le code source en bytecode avant de l’exécuter, augmentant ainsi le temps de traitement et la consommation de ressources (mémoire et CPU) par rapport à un langage compilé (comme C ou Rust).

Python 3.13 introduit deux avancées notables (en mode expérimental) apportant des solutions attendues de longue date :

1 -  Le "free threading" : il devient enfin possible d'exploiter pleinement le multi-threading en désactivant le GIL, une avancée majeure considérée comme quasi-impossible il y a encore peu !

2 -  Le compilateur JIT (Just-In-Time) : similaire à celui utilisé dans des langages comme Ruby ou JavaScript, ce compilateur optimise l'exécution du code en le compilant dynamiquement (=au fur et à mesure de l'exécution), ce qui laisse augurer des possibilités de gains de performance significatifs.

D'autres améliorations (comme une meilleure qualité et lisibilité des messages d'erreur) sont également au programme. Je vous invite à explorer l’ensemble des nouveautés sur le site officiel