Devel::NYTProf - 見やすいプロファイラ
Devel::NYTProfはプログラムの中のどの処理に時間がかかっているかを調べるツールです。このようなツールをでプロファイラといいます。解析結果をHTMLファイルに変換してくれるので、とても見やすいです。
プロファイルを作成するのは簡単です。次のコマンドを実行するとカレントディレクトリに「nytprof.out」というプロファイルを情報を出力したファイルが作成されます。
# プロファイル情報の作成 perl -d:NYTProf target.pl
「nytprof.out」をHTMLファイルに変換するにはnytprofhtmlコマンドを実行します。
# プロファイル情報をHTMLファイルに変換する nytprofhtml
カレントディレクトリの「nytprof/」ディレクトリの中にHTMLファイルが作成されます。「nytprof/index.html」を開くとプロファイル情報を見ることができます。
[f:id:perlcodesample:20100612223218p:image]
上記の結果はスクリプトを実行した場合の私の環境での結果です。
use strict; use warnings; func1(); func2(); func2(); sub func1 { my $i = 0; while ($i < 1000000) { $i++; } } sub func2 { my $i = 0; while ($i < 2000000) { $i++; } }
while文を使って数値をインクリメントしています。