タスクって今どうなってるの?3.14の新機能 asyncio ps と pstree でasyncioのデバッグを (PyCon JP 2025)
Description
Python標準ライブラリである非同期プログラミング用の「asyncio」には、プロファイルの難しさという課題があります。何がどこに依存しているのか、どこにどれだけ負荷がかかっているのか、といった情報をゼロコストで把握することが、言語仕様上困難でした。ただでさえ難しい印象のある並行処理をさらに難しくしてしまう一因として、プロファイリングのしづらさがあると感じています。
この課題を解決する新機能が、Python 3.14で追加される「asyncio」の「 ps」「pstree」です。
2025年10月にリリース予定のPython 3.14では、新しいAPI「capture_call_graph」「print_task_call_graph」およびタスクの新属性「task_awaited_by」が追加され、asyncioの実行中タスクの状態を可視化できるようになります。これにより、余計な負荷をかけずに、より容易に内部状態を把握することが可能になります。
本トークでは、実際のコードを交えながら、asyncioを用いた柔軟な内部状態の可視化手法をご紹介します。
Session: https://2025.pycon.jp/ja/timetable/talk/9A8NPM
X: https://x.com/JunyaFff
linkedin: https://www.linkedin.com/in/junya-fukuda-4622a863/