7 Punkte von GN⁺ 2023-10-03 | 3 Kommentare | Auf WhatsApp teilen
  • Flexibleres f-String-Parsing (PEP 701)
  • Unterstützung des Buffer-Protokolls in Python-Code (PEP 688)
  • Neue Debugging-/Profiling-API (PEP 669)
  • Unterstützung für Per-Interpreter-GIL, wodurch für jeden Sub-Interpreter ein separates GIL erstellt wird (PEP 684)
  • Fehlermeldungen wurden verbessert, und den Nutzern werden mehr Ausnahmen vorgeschlagen, die durch Tippfehler entstehen können
  • Unterstützung für den Linux-perf-Profiler, sodass in Traces Python-Funktionsnamen enthalten sind
  • Durch große und kleine Performance-Verbesserungen insgesamt 5 % mehr Leistung
  • Neue Syntax für Typannotationen bei generischen Klassen (PEP 695) und ein neuer @override-Decorator für Methoden (PEP 698) eingeführt
  • Veraltete Funktionen wurden entfernt, darunter die Member wstr und wstr_length der C-Implementierung von Unicode-Objekten, bestimmte Methoden und Klassen des Moduls unittest sowie die Module smtpd und distutils
  • Ungültige Backslash-Escape-Sequenzen in Strings erzeugen nun eine SyntaxWarning statt einer DeprecationWarning
  • Die interne Darstellung von Ganzzahlen wurde zur Vorbereitung auf Performance-Verbesserungen geändert

3 Kommentare

 
cosine20 2023-10-04

Das Per-Interpreter-GIL ist interessant.

 
GN⁺ 2023-10-03
Hacker-News-Kommentare
  • Python 3.12 führt eine neue Syntax für kwargs-Typdeklarationen ein und verbessert das Verständnis der für Bibliotheken benötigten Daten.
  • Die neue Version enthält itertools.batched, das Iterables in Chunks aufteilt, eine willkommene Ergänzung.
  • Python 3.12 führt eine neue API ein, mit der Profiler, Debugger und andere Tools CPython-Ereignisse überwachen können, wodurch Debugger und Coverage-Tools mit nahezu null Overhead möglich werden.
  • Zu den neuen Funktionen in Python 3.12 gehören flexibleres f-String-Parsing, Unterstützung des Buffer-Protokolls in Python-Code, eine neue Debugging-/Profiling-API sowie Unterstützung für isolierte Subinterpreter mit separaten Global Interpreter Locks.
  • Das Update bringt außerdem verbesserte Fehlermeldungen, Unterstützung dafür, dass der Linux-perf-Profiler Python-Funktionsnamen im Trace anzeigt, sowie viele große und kleine Performance-Verbesserungen.
  • Eine neue Syntax für Type Annotations bei generischen Klassen und ein neuer override-Decorator für Methoden sind ebenfalls Teil des Updates.
  • Entfernt werden veraltete Funktionen, darunter die Module smtpd und distutils; außerdem wird die interne Darstellung von Integern zur Vorbereitung auf Performance-Verbesserungen geändert.
  • Nutzer äußern Dankbarkeit für die verbesserten Fehlermeldungen und wünschen sich die Einführung von echtem Rich Text, um das Debugging zu erleichtern.
  • Die Unterstützung für isolierte Subinterpreter mit separaten Global Interpreter Locks wird als wichtiger Schritt hin zu einer Form von Concurrency angesehen.
  • Python 3.12 zeigt bei rechenintensiven Aufgaben spürbare Performance-Verbesserungen.
  • Nutzer interessieren sich dafür, wie sich PEP 669, die neue API zur Überwachung von CPython-Ereignissen, optimal nutzen lässt.