7 points par GN⁺ 2023-10-03 | 3 commentaires | Partager sur WhatsApp
  • Analyse des f-string plus flexible (PEP 701)
  • Prise en charge du protocole de tampon dans le code Python (PEP 688)
  • Nouvelle API de débogage/profilage (PEP 669)
  • Prise en charge du GIL par interpréteur, créant un GIL distinct pour chaque sous-interpréteur (PEP 684)
  • Les messages d’erreur ont été améliorés, et davantage d’exceptions pouvant être causées par des fautes de frappe sont désormais suggérées à l’utilisateur
  • Prise en charge du profileur perf de Linux, avec les noms de fonctions Python inclus dans les traces
  • Une amélioration globale des performances de 5 % grâce à de nombreuses optimisations, petites et grandes
  • Introduction d’une nouvelle syntaxe d’annotations de type pour les classes génériques (PEP 695) et d’un nouveau décorateur override pour les méthodes (PEP 698)
  • Suppression de fonctionnalités obsolètes comme les membres wstr et wstr_length de l’implémentation C des objets Unicode, certaines méthodes et classes du module unittest, ainsi que les modules smtpd et distutils
  • Les séquences d’échappement de barre oblique inverse invalides dans les chaînes déclenchent désormais un SyntaxWarning au lieu d’un DeprecationWarning
  • La représentation interne des entiers a été modifiée en préparation d’améliorations de performances

3 commentaires

 
cosine20 2023-10-04

Le GIL par interpréteur est intéressant.

 
GN⁺ 2023-10-03
Avis Hacker News
  • Python 3.12 introduit une nouvelle syntaxe pour la déclaration de type des kwargs, ce qui améliore la compréhension des données nécessaires aux bibliothèques
  • La nouvelle version inclut itertools.batched pour découper un itérable en blocs, un ajout bienvenu
  • Python 3.12 introduit une nouvelle API permettant aux profileurs, débogueurs et autres outils de surveiller les événements de CPython, ce qui pourrait permettre des débogueurs et outils de couverture à surcharge presque nulle
  • Les nouveautés de Python 3.12 comprennent une analyse plus flexible des f-strings, la prise en charge du protocole de buffer dans le code Python, une nouvelle API de débogage/profilage, et la prise en charge de sous-interpréteurs isolés avec des Global Interpreter Locks séparés
  • La mise à jour apporte aussi de meilleurs messages d’erreur, la prise en charge du profileur Linux perf pour afficher les noms de fonctions Python dans les traces, ainsi que de nombreuses améliorations de performance, petites et grandes
  • Une nouvelle syntaxe d’annotations de type pour les classes génériques et un nouveau décorateur d’override pour les méthodes font également partie de la mise à jour
  • Des fonctionnalités obsolètes ont été supprimées, notamment les modules smtpd et distutils, et la représentation interne des entiers a été modifiée en préparation d’améliorations de performance
  • Les utilisateurs expriment leur appréciation pour l’amélioration des messages d’erreur et souhaitent l’introduction d’un véritable texte enrichi pour faciliter le débogage
  • La prise en charge de sous-interpréteurs isolés avec des Global Interpreter Locks séparés est considérée comme une étape importante vers une certaine forme de concurrence
  • Python 3.12 montre des gains de performance perceptibles sur les tâches intensives en calcul
  • Les utilisateurs s’intéressent à la meilleure manière d’exploiter PEP 669, la nouvelle API de surveillance des événements de CPython