release to pyprof2html ver0.0.3

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
                :
                :
$

サンプルデータを上げておきますので一度見ていただければと。

http://www.hexacosa.net/pystone-line-sample.txt

EOF

現状の改善点としては、行毎のプロファイルデータの解析に時間がかかる点 (どうしようもない?)とHTML出力に対応させる点でしょうか。 少しずつ改善していきたいと思います。ではまた。