9
は、私はいくつかのことを並列化するmultiprocessing
を使用することを含むmy_parallel_script.py
と呼ばれるPythonスクリプトを持っていると私は、次のコマンドでそれを実行したとします並列化されたPythonスクリプトをどのようにプロファイルできますか?
python -m cProfile my_parallel_script.py
これは親プロセスのみためのプロファイル出力を生成します。子プロセスで行われた呼び出しはまったく記録されません。子プロセスのプロファイルも可能ですか?
唯一のオプションは、ソースを変更することですが、これを行う最も簡単な方法は何ですか?
私はすでにこれを試していますが、残念ながら私はプロファイリング中にシステムのマルチプロセスを実行する必要があります。しばらくすると大幅に減速したように見えますが、マルチプロセッシングが有効な状態で実行されている場合のみです。 – Fragsworth
それはおそらくリソースの競合であり、プロファイリングはそれを見つける方法ではないかもしれません。いずれの場合でも、一度にすべての子プロセスをプロファイリングすることができます。子のPythonコードでプロファイルをプログラムで呼び出すことができます。 –