perlでBenchmarkテスト2

perlの色々な関数や処理の実行時間をBenchmarkモジュールを使って計測・比較してみました。第2弾。

変数へのアクセス

use Benchmark;
$year = "2007";
$mon = "10";
$day = "27";
$date = "$year年$mon月$day日";
timethese 1_024_000, {
operation1 => sub {
print OUT "$year年$mon月$day日";
},
operation2 => sub {
print OUT $date;
},
};

●実行結果
Benchmark: timing 1024000 iterations of operation1, operation2…
operation1: 1 wallclock secs ( 0.98 usr + 0.00 sys = 0.98 CPU) @ 1039593.91/s
(n=1024000)
operation2: 0 wallclock secs ( 0.19 usr + 0.00 sys = 0.19 CPU) @ 5446808.51/s
(n=1024000)
(warning: too few iterations for a reliable count)

●評価
”too few iterations”がついていますが、実行時間の差は明らかです。3倍以上の差がつきました。
日付を何度も出力する場合には、あらかじめまとめておいた方がよさそうです。

カテゴリー: perl   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>