Retour au blog
Dev

Python 3.14 (Pi) : Le mode "No-GIL" devient utilisable

10 min de lecture
PythonMultithreadingHPCPerformance

La fin du Global Interpreter Lock (GIL)

C'est historique. Python 3.14 permet de désactiver le GIL. Jusqu'ici, un script Python ne pouvait utiliser qu'un seul cœur CPU à la fois, même avec des threads. C'était un frein énorme pour le HPC.

Tests de performance : Scapy et Brute-force

J'ai testé un script de scan de ports multithreadé écrit avec Scapy. Avec Python 3.13, saturer 16 cœurs était impossible. Avec le 3.14 en mode --disable-gil, l'utilisation CPU monte à 100% sur tous les cœurs.

Attention aux Race Conditions

La contrepartie : les développeurs doivent maintenant gérer eux-mêmes la sécurité des threads (Mutex, Locks). Le code Python "mal écrit" qui reposait sur le GIL pour la sécurité va crasher.