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回あたりの平均実行時間
をソートして出力するす。
[あとでブラッシュアップして晒す]