関数レベルで、個々の関数が何回コールされていて、どれくらいのCPU時間を消費しているのかがが
一目で分かるのでボトルネック発見が容易になります。
どうやらほとんどのLinuxプラットフォームにはpython2.4標準ライブラリとしてビルトインされている
ようなのですが、僕の環境Debianにはインストールされていません。
なので、以下のように インストールしました。
1 | $ sudo apt-get install python-profiler |
ソース中に埋め込む場合は、以下のようにしましょう:
1 2 3 4 5 6 | import profile def hoge(): ... profile.run('hoge()') |
のように解析してもいいですし、
プログラム全体を解析対象とするならソースに埋め込むことなく
以下のようにすることでプロファイリングすることができます。
1 | $ python -m profile hoge.py |
高速化が必要な際は開発効率がグンと上がりますので、是非一度お試しあれ。