広告掲載
パソコン

CPythonのフリースレッドビルドが正式サポートに、性能低下は5~10%に縮小

CPythonのフリースレッドビルドが実験的から正式サポートへ。シングルスレッド性能の低下は約5~10%に縮小し、3.14tとして提供される。

CPythonのフリースレッドビルドが、ドキュメント上で実験的ではなく正式にサポートされるビルドとして扱われるようになった。howtogeek.comが伝えている。このビルドはデフォルトのインタープリタとは別のオプションとして提供され続ける。

フリースレッドビルドは、プロセス内で一度に1つのスレッドしかPythonバイトコードを実行できないというグローバルインタープリタロック(GIL)の制約を取り除く。専用の適応型インタープリタもフリースレッドモードで動作するようになった。

性能面では、フリースレッドビルドのシングルスレッド性能の低下が標準ビルドと比べて約5~10%にまで縮小した。ユーザーは通常「3.14t」と表示される別のビルドをインストールすることで利用できる。uvなどのツールを使えば、標準ビルドとフリースレッドビルドを並行してインストールしておける。

ただし、Python 3.14の実験的なJITコンパイラは、フリースレッドビルドではまだ利用できない。

背景

Pythonは初期からGILを備えており、プロセス内で同時に1つのスレッドしかバイトコードを実行できなかった。フリースレッド化はPEP 703で提案され、2024年10月にPython 3.13で実験的に導入された。最初の実験版はシングルスレッドコードの実行が目立って遅く、スレッドセーフでない内部最適化の一部が無効化されていた。PEP 779はフリースレッドビルドを正式サポートに昇格させる基準を定め、2025年6月に承認された。2025年10月にリリースされたPython 3.14がその基準を満たした。コアチームは現在の状況を段階的な計画の「フェーズII」と説明している。

よくある質問

フリースレッドビルドはどうやって使いますか?

通常「3.14t」と表示される別のビルドをインストールすることで利用できます。uvなどのツールを使えば、標準ビルドと並行してインストールしておけます。

フリースレッドビルドの性能への影響は?

シングルスレッド性能の低下は、標準ビルドと比べて約5~10%に縮小しています。

フリースレッドビルドでJITコンパイラは使えますか?

Python 3.14の実験的なJITコンパイラは、フリースレッドビルドではまだ利用できません。

出典