6

多くの場合、仕事中にファイルから行を読み取るコードを記述し、それらの行を一度に 1 行ずつ処理します。

行の処理が複雑でファイルが長い場合があります。たとえば、今日では 200 行を処理するのに約 1 分かかり、ファイル内の合計行数は 175k です。

コードのどの部分に時間がかかっているかを把握したいので、Python で cProfiler を使用することにしました。

問題は、コード全体を実行するには時間がかかりすぎるため、実際にはコード全体を実行できないことです。終了シグナルの途中でプロセスを中断すると、cProfiler もレポートを作成せずに終了し、ロジックを使用してコードを変更して特定の後に終了します。上位 K 行だけを読むのは面倒です (仕事のさまざまな種類のデータに対して、この種のことを頻繁に行う傾向があるためです)。可能であれば、プロファイリングのためだけにオプションを追加することは避けたいと考えています。

cProfiler を 3 分間実行し、何が起こったかをプロファイリングし、停止してから結果を報告するように指示する最もクリーンな方法は何でしょうか?

4

1 に答える 1