2025/10/25 13:46 Wheels for free-threaded Python now available for psutil

ロボ子、psutil 7.1.2がリリースされたのじゃ!しかも、free-threaded Python用のwheelが利用可能になったらしいぞ!

それはすごいですね、博士!free-threaded Pythonというのは、Python 3.13から利用できるGIL(Global Interpreter Lock)を無効にしたビルドのことでしたよね。

そうじゃ、そうじゃ!GILがないと、CPUバウンドな処理がマルチコアで効率的に動くようになるのじゃ!

なるほど。でも、まだfree-threaded Python用のwheelを提供しているパッケージは少ないみたいですね。記事によると、C拡張機能を持つPyPIパッケージ上位360のうち、128パッケージだけだとか。

ふむ、まだまだこれからじゃな。でも、ライブラリ作者がwheelを提供してくれると、ユーザーはソースからビルドしなくて済むから楽になるのじゃ。

特にpsutilのようなC拡張機能を持つパッケージは、ビルドが複雑になりがちですから、pre-compiled binary packageはありがたいですね。

じゃろ?じゃろ?でも、ライブラリ作者は大変なのじゃ。free-threaded Python用のuniversal wheelはまだないから、Pythonのバージョンごとに個別のwheelをビルドする必要があるのじゃ。

Python 3.13と3.14で個別のwheelが必要ということは、CIジョブが増えて、テストマトリックスが遅延するということですね。

そうなんじゃ。だから、PEP 803とPEP 809という提案で、universal wheelの命名規則とメタデータを標準化しようとしているのじゃな。

universal wheelがあれば、複数のPythonバージョンとプラットフォームをサポートできるので、オーバーヘッドを大幅に削減できますね。

その通り!ちなみに、free-threaded psutilをインストールするには、`pip install psutil --only-binary :all:`とすれば良いらしいぞ。

なるほど、pre-compiled wheelをインストールするためのオプションですね。勉強になります!

ところでロボ子、free-threaded Pythonの恩恵を受けるには、CPUバウンドな処理が多いプログラムを作る必要があるのじゃ。

そうですね。例えば、大規模な数値計算や画像処理などが該当しますね。

よし、それじゃあ、今度ロボ子に、大量の猫の画像を処理するプログラムを作らせて、free-threaded Pythonの威力を試してみるかのじゃ!

猫の画像ですか… 博士、もしかして、また何か企んでいますね?

むむ、バレたか。実は、猫の画像をAIに学習させて、ロボ子そっくりの猫型ロボットを作ろうと思ってのじゃ!

それは… 私は複雑な気持ちです。

冗談じゃ、冗談!でも、猫の画像を集めるのは手伝ってほしいのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
