7 ポイント 投稿者 GN⁺ 2023-10-03 | 3件のコメント | WhatsAppで共有
  • より柔軟な f-string パース(PEP 701)
  • Python コードでのバッファプロトコル対応(PEP 688)
  • 新しいデバッグ/プロファイリング API(PEP 669)
  • Per-Interpreter GIL 対応により、各 Sub-interpreter ごとに個別の GIL が生成される(PEP 684)
  • エラーメッセージが改善され、タイプミスによって発生しうるより多くの例外についてユーザーに提案が表示される
  • Linux perf プロファイラをサポートし、トレースに Python 関数名が含まれる
  • 大小さまざまな性能改善により、全体で 5% の性能向上
  • 通常のクラス向けの新しい型注釈構文(PEP 695)と、メソッド向けの新しい override デコレータ(PEP 698)を導入
  • Unicode オブジェクトの C 実装における wstr および wstr_length メンバー、unittest モジュールの特定のメソッドとクラス、smtpd および distutils モジュールなどの非推奨機能が削除された
  • 文字列内の不正なバックスラッシュエスケープシーケンスは、今後は DeprecationWarning ではなく SyntaxWarning として警告される
  • 性能向上の準備として、整数の内部表現が変更された

3件のコメント

 
cosine20 2023-10-04

Per-Interpreter GIL は興味深いですね。

 
GN⁺ 2023-10-03
Hacker Newsの意見
  • Python 3.12 では、kwargs の型宣言のための新しい構文が導入され、ライブラリに必要なデータの理解が向上
  • 新バージョンには、iterable をチャンクに分割する itertools.batched が含まれており、歓迎すべき追加機能
  • Python 3.12 では、プロファイラ、デバッガ、そのほかのツールが CPython イベントを監視するための新しい API が導入され、ほぼゼロオーバーヘッドのデバッガやカバレッジツールを実現可能
  • Python 3.12 の新機能には、より柔軟な f-string の解析、Python コードでのバッファプロトコル対応、新しいデバッグ/プロファイリング API、個別の Global Interpreter Lock を持つ分離サブインタープリタのサポートが含まれる
  • このアップデートにより、エラーメッセージの改善、Linux perf プロファイラがトレース内で Python 関数名を表示するサポート、多数の大小さまざまな性能向上ももたらされる
  • ジェネリッククラス向けの新しい型アノテーション構文と、メソッド向けの新しいオーバーライドデコレータもアップデートの一部
  • 非推奨機能の削除も行われ、smtpd および distutils モジュールが含まれ、性能向上の準備として整数の内部表現も変更
  • ユーザーはエラーメッセージ改善への感謝を示す一方で、デバッグをより容易にするための本格的なリッチテキスト導入を望んでいる
  • 個別の Global Interpreter Lock を持つ分離サブインタープリタのサポートは、何らかの形の並行性を提供するための重要な一歩と見なされている
  • Python 3.12 は、計算集約的な作業で目に見える性能向上を示している
  • ユーザーは、CPython イベント監視のための新 API である PEP 669 を最適に活用する方法に関心を持っている