dprofpp -O。
Devel::DProf は便利なんだけど
なんか変な結果が出ている。
リファクタ後、User+System Time は減っているのに
Total Elapsed Time は増えている。うーむ。
仕方ないので、DProf の結果で細かくボトルネックを見ていくかーと思いつつも
いつもの使い方だと、時間のかかった上位15位までしか表示されないので
何かオプションないかなー…と朝からカチャカチャ。
・表示件数を指定
dprofpp -O 上位○位まで表示
・アルファベット順で表示
dprofpp -a
・呼ばれた回数の多い順
dprofpp -l
・Total Elapsed Timeで表示
dprofpp -q
・System Timeで表示
dprofpp -s
・User Timeで表示
dprofpp -u
・特定の文字列を含むルーチンを除外
dprofpp -f 文字列
ついでにメモ。
%Time このルーチンが実行された時間の全体に対する%
#Calls このルーチンが呼ばれた回数
sec/call 1回の実行でかかった時間の平均値
Name ルーチン名
CumulS このルーチンと、ここから呼ばれたルーチンの処理にかかった時間(秒)
ExclSec このルーチンの処理にかかった時間(秒)※ここから呼ばれたルーチンの時間は含まず
Csec/c このルーチンと、ここから呼ばれたルーチンの処理にかかった時間の平均値(秒)