POEなスクリプトをプロファイリングしたいの

Devel::DProfだとセグフォる。

$ perl -d:DProf poe-poe-poe.pl
Segmentation fault (core dumped)

POE::Devel::Profilerというのがあったので試してみた。
が、dprofppやgprofに比べるとサマれる情報が少ない。

$ perl -MPOE::Devel::Profiler poe-poe-poe.pl
$ poepp BasicSummary
Visualizer::BasicSummary ( poe-poe-poe.pl started at Mon Jul  2 15:19:05 2007 )
Total number of sessions: 9
Total number of events profiled: 1054
Total number of alarms profiled: 0
Total number of delays profiled: 75
Total number of signals profiled: 0
Total number of GC passes: 1189
Runtime: 9.39870595932007 wallclock seconds

くまった。
[あとでまたやる]

追記 2007-07-03

POE::Devel::Profiler::Parserをちょっといじって、あとはPOE::Devel::Profiler::Visualizer::PerformanceSummaryをでっちあげて当座の用は足せた。

イベントハンドラ毎に、

  • 実行時間の総和
  • 実行回数
  • 1回あたりの平均実行時間

をソートして出力するす。

[あとでブラッシュアップして晒す]