Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. here

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++;
  }
}
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。