PythonのJITコンパイラ、CPythonから削除へ

原題: Python's experimental JIT to be removed

なぜ重要か

標準トラックPEPなしで主要機能をマージする慣行に対し、運営委員会が明確にブレーキをかけた事例として、CPythonのガバナンス強化の観点で注目される。

CPythonに2024年の3.13リリースで試験的に導入されたJITコンパイラが削除される見通しとなった。Python運営委員会は2025年6月、JIT開発を主ブランチで一時停止し、保守・互換性・成功指標・完了期限を明記したPEPを6カ月以内に提出・承認させるよう要求。JIT開発チームはPEP 836を起草したが、最終的に取り下げた。

CPythonのJITコンパイラは、Brandt Bucherが2024年初頭に実装し、Python 3.13に組み込まれた。しかし当初から正式な標準トラックPEPを経ずにマージされており、Python 3.13のリリースマネージャーでもあった運営委員会メンバーのThomas Woutersの指摘を受け、BucherとSavannah OstrowskiがPEP 744「JIT Compilation」を起草した。ただしこれは情報提供目的の「インフォーマルPEP」にとどまり、機能追加の正式な合意を意味するものではなかった。

2025年6月、Python運営委員会は正式に標準トラックPEPの提出を要求した。Woutersは「単一のきっかけがあったわけではない」と説明しつつ、JIT作業がデバッグ・プロファイリング・インストルメンテーションほか、CinderXやNumba、PyTorchのコンパイル機能など外部JIT関連プロジェクトへ与える影響を懸念事項として挙げた。委員会はPython 3.15ベータ後まで要求を待ったことについて、「3.15の現状には問題ない」と明示する意図だったと説明している。

Bucher、Ostrowski、Ken Jinの3名は2025年7月3日にPEP 836「JIT Go Brrr」をPythonフォーラムで公開し、コミュニティの意見を募った。議論は活発だったが、WoutersやMark Shannonらから「ドラフトが具体的な保証・保守コミットメント・再配布業者への影響を十分に示していない」との批判が相次いだ。数カ月の議論を経ても懸念を解消できず、最終的に開発チームはPEP 836を取り下げた。委員会が設定した6カ月の期限を満たせなかった形となり、JITコードはCPythonの主ブランチから削除される方向となった。

出典

lwn.net — 元記事を読む →