release to pyprof2html ver0.0.3
2009-04-30 - ⧖ 2.0 minpyprof2html 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
:
:
$
サンプルデータを上げておきますので一度見ていただければと。
http://www.hexacosa.net/pystone-line-sample.txt
EOF
現状の改善点としては、行毎のプロファイルデータの解析に時間がかかる点 (どうしようもない?)とHTML出力に対応させる点でしょうか。 少しずつ改善していきたいと思います。ではまた。