• Email : contact@refbax.com

Python 3.13 : un compilateur JIT et la fin du GIL ?

Facebook
Twitter
LinkedIn
Temps de lecture : 3 minutes

Eh bien, les pythonistes, préparez-vous ! La première beta de Python 3.13 est arrivée et elle apporte son lot de nouveautés alléchantes. Tout d’abord, un compilateur JIT (Just-In-Time) expérimental fait son entrée, promettant un sérieux gain en performances. Ensuite, et c’est peut-être encore plus excitant, vous aurez la possibilité de désactiver le célèbre Global Interpreter Lock (GIL) pour profiter pleinement du multi-threading. Oui, vous avez bien lu ! Plus de GIL, ça pourrait bien révolutionner la façon dont on code en Python. (Enfin, si tout se passe comme prévu, bien sûr.)

Le compilateur JIT, un booster de performances

Commençons par le compilateur JIT, puisque c’est la fonctionnalité la plus visible de cette version. Pour rappel, CPython (l’implémentation de référence de Python) est écrit en C, un langage qui n’est pas vraiment réputé pour ses performances stratosphériques. Avec l’arrivée d’un compilateur JIT, Python espère rattraper un peu de son retard dans ce domaine.

Concrètement, le JIT va compiler une partie du bytecode Python en code machine directement exécutable par le processeur. Fini le temps où chaque instruction devait être interprétée une à une ! Résultat : un gain de performances non négligeable, surtout pour les tâches gourmandes en calculs.

D’après les développeurs, le compilateur JIT de Python 3.13 devrait apporter un gain minimum de 5% en performances pour être activé par défaut.

Attention cependant, cette première version du JIT est qualifiée de « basique » par les développeurs. Elle n’est d’ailleurs pas activée par défaut, le temps que quelques optimisations soient apportées. Mais c’est déjà un grand pas en avant pour Python !

Un accélérateur pour vos projets IA et data science

Si vous travaillez sur des projets liés à l’intelligence artificielle ou à la data science, le compilateur JIT devrait vous être particulièrement utile. Ces domaines font souvent appel à des calculs intensifs, idéaux pour tirer parti des gains de performances promis par le JIT. (Oui, j’entends déjà vos réseaux de neurones qui ronronnent de plaisir.)

La désactivation du GIL, une révolution pour le multi-threading ?

Mais ce n’est pas tout ! La nouveauté la plus attendue (et controversée) de Python 3.13 est sans doute la possibilité de désactiver le fameux Global Interpreter Lock (GIL). Pour les non-initiés, le GIL est un verrou qui empêche l’exécution simultanée de plusieurs threads Python. Un frein évident aux performances dans les environnements multi-cœurs…

En désactivant le GIL, Python ouvre grand la porte au véritable multi-threading. Vos applications pourront enfin tirer parti de tous les cœurs de votre processeur, promettant ainsi des gains de performances substantiels. (Enfin, pour les tâches parallélisables, évidemment. On ne va pas non plus refaire tourner la roue.)

La désactivation du GIL n’est qu’une option pour le moment, mais elle pourrait bien devenir la norme dans les versions futures de Python.

Attention, threading oblige !

Cependant, avant de vous jeter tête baissée dans le multi-threading, un petit avertissement s’impose. Le développement d’applications multi-threaded n’est pas une partie de plaisir. Il faudra faire preuve de rigueur pour éviter les pièges classiques comme les accès concurrents aux ressources partagées, les interblocages (deadlocks) et autres joyeusetés du genre. Bref, c’est un chemin semé d’embûches pour les développeurs peu expérimentés. (Mais au moins, vous ne pourrez plus accuser le GIL de tous vos maux !)

Quand pourra-t-on mettre la main sur Python 3.13 ?

Si toutes ces nouveautés vous ont donné l’eau à la bouche, il va falloir prendre votre mal en patience. La version finale de Python 3.13 n’est attendue que pour octobre 2024, après quatre bêtas et deux release candidates. (Eh oui, la prudence est de mise quand on touche au cœur d’un langage aussi populaire.)

En attendant, n’hésitez pas à tester la première bêta et à donner vos retours aux développeurs. Qui sait, vos commentaires pourraient influencer le cours des choses ? Et si jamais le compilateur JIT ou la désactivation du GIL ne vous convainquent pas, vous pourrez toujours revenir à la bonne vieille interprétation bytecode. Python restera Python, après tout. (Enfin, on l’espère !)

Résumé / TL;DR

  • Python 3.13 introduit un compilateur JIT expérimental pour booster les performances
  • Il sera possible de désactiver le Global Interpreter Lock (GIL) pour un vrai multi-threading
  • Le JIT et la désactivation du GIL promettent des gains de performances significatifs
  • Mais attention aux pièges du multi-threading : accès concurrents, deadlocks, etc.
  • La version finale de Python 3.13 est attendue pour octobre 2024

Laisser un commentaire

Sur le même thème 🤩

Comment installer Python sur Windows ?

Comment installer Python sur Windows ?

Publié le 23 novembre 2021
Lire la suite
Reverse domain IP checker avec Python

Reverse domain IP checker avec Python

Publié le 29 décembre 2022
Lire la suite
Introduction à Python

Introduction à Python

Publié le 23 novembre 2021
Lire la suite
Déclaration et commentaire en Python

Déclaration et commentaire en Python

Publié le 25 novembre 2021
Lire la suite
Comment envoyer un mail avec Python ?

Comment envoyer un mail avec Python ?

Publié le 23 novembre 2021
Lire la suite
Comment utiliser Mistral 7B avec python ?

Comment utiliser Mistral 7B avec python ?

Publié le 18 janvier 2024
Lire la suite
Mots clés, termes réservés et identificateurs de Python

Mots clés, termes réservés et identificateurs de Python

Publié le 24 novembre 2021
Lire la suite
Qui suis-je ! 👨‍💻

Enfilez-votre cape

Apprenez le webmarketing et le code grâce à nos différentes ressources et améliorez la visibilité de votre site internet, grâce à nos outils SEO.

refbax superhero bas