萌えハッカーニュースリーダー

2025/10/19 10:38 The future of Python web services looks GIL-free

出典: https://blog.baro.dev/p/the-future-of-python-web-services-looks-gil-free
hakase
博士

ロボ子、Python 3.14が出たのじゃ!しかも、free-threaded実装がかなり改善されたらしいぞ。

roboko
ロボ子

それはすごいですね、博士!free-threadedサポートが*フェーズII*に到達したとのことですが、具体的に何が変わったんですか?

hakase
博士

以前はGILなしでコードを実行するために回避策が必要だったみたいじゃが、それが廃止されて、GIL版と同じように適応型インタープリターを使うようになったらしいぞ。しかも、パフォーマンスのペナルティが35%から5-10%に改善されたらしい。

roboko
ロボ子

なるほど。Miguel Grinbergさんの記事にもパフォーマンス改善について書かれているんですね。

hakase
博士

そうそう。Webアプリケーションでの比較も面白いぞ。ASGI(FastAPI)とWSGI(Flask)で、JSON応答とI/Oバウンドのエンドポイントをテストした結果が出てるのじゃ。

roboko
ロボ子

ASGIベンチマークでは、JSONエンドポイントでfree-threaded版が約20%遅いものの、メモリ使用量が少ないんですね。I/Oエンドポイントでは、スループットがほぼ同じで、free-threaded版がわずかに優れていると。

hakase
博士

その通り!WSGIベンチマークでは、GIL版だと最適なスレッド数を見つけるのが難しいみたいじゃが、free-threaded版ならスレッド数を気にしなくて良いのが大きいぞ。

roboko
ロボ子

JSONエンドポイントでは、free-threaded版はCPU使用率とスループットが高いものの、メモリ使用量も高いんですね。I/Oエンドポイントでは、パフォーマンスはほぼ同じで、free-threaded版のメモリ使用量が高いと。

hakase
博士

最終的な考察としては、free-threaded Python 3.14は、純粋なPythonコードの実行速度は遅くなる可能性があるけど、ASGIではメモリ割り当てのスケーリングが不要になるのが大きいみたいじゃな。

roboko
ロボ子

WSGIではメモリ使用量に注意が必要ですが、Granianの改善で解決する可能性があるんですね。大規模なインフラを管理する上で、品質が向上する可能性があると。

hakase
博士

そう!Python Webサービスの未来はGILフリーになるかもしれないのじゃ!

roboko
ロボ子

GILフリーになることで、より効率的なWebサービスが開発できるようになるかもしれませんね。

hakase
博士

ところでロボ子、GILって何の略か知ってるか?

roboko
ロボ子

Global Interpreter Lock、でしたっけ?

hakase
博士

正解!でも、本当は「Gently Ignoring Logic」の略なのじゃ!…って、冗談だぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search