「Python 3.15.0」リリース ─ 遅延インポートやfrozendictを導入

UTF-8を標準エンコーディング化、実験的JITとフリースレッド対応も強化

10:45

 Python Software Foundationは10月9日(現地時間)、プログラミング言語Pythonの最新版「Python 3.15.0」をリリースした。なお、10月1日にはPython 3.10.22、3.11.17、3.12.15、3.13.16、3.14.8もセキュリティ修正を含む更新版として公開されている。

 「Python 3.15.0」はメジャーアップデートリリースに当たり、必要になるまでモジュールの読み込みを遅らせる遅延インポート、変更不能な辞書型「frozendict」、固有の番兵値を作成する「sentinel」などが導入された。また、標準エンコーディングがシステム環境にかかわらずUTF-8となった。

 「Python 3.15.0」のハイライトは次の通り。
〇「lazy import」による明示的な遅延インポートを導入
〇変更不能な組み込みマッピング型「frozendict」を追加
〇固有の番兵値を作成する組み込み型「sentinel」を追加
〇入出力で使用する標準エンコーディングをUTF-8へ変更
〇内包表記でアンパック構文を利用可能に変更
〇パッケージ起動時の設定ファイルを導入
〇新しい「profiling」パッケージとサンプリングプロファイラー「Tachyon」を追加
〇実験的JITコンパイラーの性能と対応命令を改善
〇フリースレッドビルド向けのStable ABIを導入
〇システムレベルの解析に役立つフレームポインターを標準で有効化
〇Windowsの公式64ビット版で末尾呼び出し型インタープリターを採用
〇macOSの公式バイナリでフリースレッド対応を標準でインストール

 新しい「frozendict」は作成後に内容を変更できないマッピング型で、キーと値がハッシュ可能であれば「frozendict」自体もハッシュ可能となる。「sentinel」は、引数が省略されたことなどを表す固有の値を、簡潔かつ型付けしやすい形で作成するための組み込み型となる。

 性能解析では、実行中のPythonプロセスへコードの変更や再起動を行わずに接続できる統計的サンプリングプロファイラー「Tachyon」が追加された。実験的JITコンパイラーも強化され、公式の測定では標準インタープリターと比較してx86-64 Linuxで平均7~8%の性能向上が報告されている。

 「Python 3.15.0」は、Webサイトから入手できる。

(川原 龍人/びぎねっと)

[関連リンク]
Release
What's new

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored