ベンチマーク(性能比較)を行うBenchmarkモジュールを使用すると、ベンチマーク(性能比較)を行うことができます。cmpthese/;timethese関数を実行すると各関数の性能情報を取得できます。これをcompthese関数の引数に指定すると、標準出力に比較結果が表示されます。$result;ベンチマークを行うサンプルです。精度を上げるために実行回数をある程度増やす必要があります。このサンプルでは10000回実行しています。$result;下記の出力結果になります。loop3はloop1と比較して3倍近く速いことが確認できます。Benchmarkモジュールは実際の処理時間を計算していますか。wallclockで表示される時間は実際にかかった時間です。後ろの値は「試行回数/CPU時間」で計算されます。後ろに掲載される値は「試行回数/CPU時間」という計算式で計算されます。CPU時間はそのプロセスが使用したCPUの時間なので、データベースアクセスなどのI/O待ちや子プロセスを実行される時間などは含まれません。sleep関数を実行している場合もCPUを使用していないので実行時間に含まれません。後ろの値を参考にすることはできないということです。cmptheseで比較される値も「試行回数/CPU時間」ですので、表示される値をそのまま評価に利用することはできません。I/Oや子プロセスの実行を行っている場合はwallclockに表示されている値を見る必要があります。ほとんどの場合はプログラムのアルゴリズムの評価を行う目的でBenchmarkモジュールを利用すると思いますので、cmptheseで比較される値を目安にしてよいでしょう。業務に役立つPerlログ解析など日本語を含むテキスト処理の実践!案内YouTubeでもっと簡単にプログラミングを学ぶならPerlゼミちゃんねるLinuxコマンドを学ぶならLinuxサーバー管理入門Webデザインを学ぶならWebデザイン入門Web開発を始めるななMojoliciousスタートアップブログを作るならGiblogプログラミングの勉強会ならPerl入学式お問合せはこちらPerlは、テキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。Linuxサーバー管理でのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意。Mojoliciousを使ったWebスタートアップも。Perlは、gitやopensslなどUnix/Linuxミドルウェアの支援ツールとして採用されています。このサイトはGiblogで製作されています。