cProfile とは
cProfile と profile は 決定論的プロファイリング (deterministic profiling) を行います。 プロファイル (profile) とは、プログラムの各部分がどれだけ頻繁に呼ばれたか、そして実行にどれだけ時間がかかったかという統計情報です。 pstats モジュールを使ってこの統計情報をフォーマットし表示することができます。
Python 標準ライブラリは同じインターフェイスを提供するプロファイラの実装を3つ提供しています。
26.4. Python プロファイラ — Python 2.7.15 ドキュメント
- cProfile はほとんどのユーザーに推奨されるモジュールです。 C言語で書かれた拡張モジュールで、オーバーヘッドが少ないため長時間実行されるプログラムのプロファイルに適しています。 Brett Rosen と Ted Czotter によって提供された lsprof に基づいています。バージョン 2.5 で追加.
使い方
$ python -m cProfile -s cumulative foo.py
- sオプションでソート順に指定できる引数は以下の通り
| 引数 | 意味 |
|---|---|
| calls | call count |
| cumulative | cumulative time |
| cumtime | cumulative time |
| file | file name |
| filename | file name |
| module | file name |
| ncalls | call count |
| pcalls | primitive call count |
| line | line number |
| name | function name |
| nfl | name/file/line |
| stdname | standard name |
| time | internal time |
| tottime | internal time |