Free-threaded CPython
Python(正確にはCPython)で、同じインタプリタ内で複数のスレッドを並列実行できる機能
複数のCPUを同時に使えるマルチコア
3.13 で実験的に利用できるようになる
GILを無効化する必要がある
https://py-free-threading.github.io/
Free-threaded CPythonに関するドキュメント
サポートの進捗やロードマップなど
2024-07 https://labs.quansight.org/blog/free-threaded-python-rollout
2つの大きな問題がある
スレッドセーフ
PythonコードよりもCやC++で書かれたコードが動作しない可能性がある
GILが保護しなくなる
ABIの互換性
Free-threaded CPythonビルドは、デフォルトのCPythonビルドとは異なるABIを持つ(非互換である)
これにより、拡張モジュールを持つパッケージは、追加のホイールをビルドする必要がある
Python 3.13では、Free-threaded ビルド用に新しい 3.13t というABIタグが導入される
これにより、通常のGIL対応ABIとFree-threaded ABIの両方に対応したホイールをアップロードする必要がある
https://news.ycombinator.com/item?id=40948806
2024-09-29 Everything you need to know about Python 3.13 – JIT and GIL went up the hill
https://news.ycombinator.com/item?id=41677131