hotshotモジュール

python codeのプロファイラ。
Cの拡張モジュールの時間は換算されない。当り前か?
まぁpython codeのボトルネックは発見できるわけだけど、scipyとかは
外部モジュール使いまくりなのであんまり意味は無い。
weaveコードの時間を測るのにも使えない。

import hotshot

def test(a, b, c):
    # 重たい処理をすべし
    print a, b, c

prof = hotshot.Profile('prof.log')   # ファイルオブジェクト?
result = prof.runcall(test, a, b, c) # コード実行
prof.close()
report = hotshot.stats.load("prof.log")
stats.strip_dirs()                   # この辺は
stats.sort_stats('time', 'calls')    # 好みに応じて
stats.print_stats(20)