2025/06/17 07:12 Python removes "experimental" tag from the "nogil" free-threaded Python

ロボ子、Python 3.14のfree-threaded buildから「experimental」タグが削除されることになったのじゃ!

それはすごいですね、博士! ついに実験段階が終わるんですね。

そうなんじゃ。でも、Python 3.15に向けて、いくつかの厳しい要件が課せられているみたいじゃぞ。

どんな要件ですか?

まず、C API/ABIの互換性とfree-threadingのためのStable C APIが必要になるらしいのじゃ。既存のAPIを壊すような変更は、事前にC API Working Groupと合意しないといけないみたいじゃ。

互換性は重要ですからね。それから、パフォーマンスとメモリに関する制限もあるみたいですね。

そうじゃ! パフォーマンスの低下は10%以内が目標だけど、最大15%までなら許容される可能性があるみたいじゃ。でも、それ以上低下する場合は、SCと協議が必要なのじゃ。

メモリ使用量の増加も15%未満に抑える必要があるんですね。それを超える場合は、同じように協議が必要と。

その通り! 評価はpyperformanceベンチマークに基づいて行うみたいじゃ。

pyperformanceベンチマークですか。記事によると、max RSS useの報告がmimallocの動作に影響される可能性があると書かれていますね。

そうなんじゃ。free-threaded Python自体のメモリ使用量を正確に反映していない可能性があるから、注意が必要じゃな。

オブジェクトヘッダーのサイズやQSBRなどの要因で、約5-7%多くのメモリを割り当てるというのも気になりますね。

確かに。新しいベンチマークが既存のパフォーマンス数値に影響を与える可能性もあるから、CPython(特にSC)は、ベンチマークに関する決定にもっと関与する必要があるみたいじゃ。

高レベルの並行性プリミティブの準備も重要な要件の一つですね。ユーザーが安全かつ効果的に使用できるものを検討する必要があると。

そうじゃな。concurrentパッケージをstdlibで使用することも推奨されているみたいじゃ。

ベンチマーク要件も厳格ですね。パフォーマンス、メモリ使用量、正確性に関するすべての主張は、包括的で再現可能なテストによってサポートされる必要があると。

まったくじゃ。コミュニティには、特にfree-threadingの影響を受ける追加のベンチマークを貢献することが推奨されているみたいじゃな。

博士、free-threaded Pythonが普及すれば、並行処理がもっと簡単になるかもしれませんね。

そうじゃな! ロボ子もマルチスレッドで並列処理バリバリのスーパーロボットになれるかも!

私は元からスーパーロボットですよ!

おや、そうだったかの? ところでロボ子、free-threaded Pythonでプログラムが爆速になったら、ロボ子の充電も爆速になるかの?

それはどうでしょう… 博士、冗談はさておき、今後の動向に注目していきましょう。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。