release to pyprof2html ver0.0.3
Posted on Thu, 30 Apr 2009 00:44:58 +0900
pyprof2html 0.0.3をリリースしました。
hotshotモジュールの行毎の実行時間測定機能を利用して、 ソースコードに実行時間を表示するようにしました。 ただし、現在はHTML出力には対応していません。 ただのテキストで表示されます。
pystoneモジュールを使って、プロファイルから 結果表示する手順を以下に示します。
usage
まずは、hotshotモジュールを使ってプロファイルデータを 取得します。 hotsoht.Profileオブジェクトの第2パラメータには1を指定して、 1行毎にイベントを発生させるようにします。
import hotshot, hotshot.stats, test.pystone
prof = hotshot.Profile("hot_line-time.prof", 1)
benchtime, stones = prof.runcall(test.pystone.pystones)
prof.close()
あとは、出力されたプロファイルデータをpyprof2html.pyに 指定して結果を出力させます。これだけです。
$ python pyprof2html.py hot_line-time.prof
:
:
0.000sec | starttime = clock()
|
0.075sec | for i in range(loops):
0.075sec | Proc5()
0.073sec | Proc4()
0.073sec | IntLoc1 = 2
0.070sec | IntLoc2 = 3
0.070sec | String2Loc = "DHRYSTONE PROGRAM, 2'ND STRING"
0.070sec | EnumLoc = Ident2
0.070sec | BoolGlob = not Func2(String1Loc, String2Loc)
0.154sec | while IntLoc1 < IntLoc2:
0.075sec | IntLoc3 = 5 * IntLoc1 - IntLoc2
:
:
$
サンプルデータを上げておきますので一度見ていただければと。
EOF
現状の改善点としては、行毎のプロファイルデータの解析に時間がかかる点 (どうしようもない?)とHTML出力に対応させる点でしょうか。 少しずつ改善していきたいと思います。ではまた。