Benchmark
perl使ってて、あまりパフォーマンスを気にしたことがありませんでした。とにかく覚えるのに必死でしたから。
ようやく自分のなかで余裕も出てきて、パフォーマンスあたりも気にしていこうかな、と。そこでまずはベンチマークの取り方の勉強。Benchmarkモジュールを使えば簡単ですね。
use Benchmark qw/timethese cmpthese/; my $process1 = sub { my $a = 1 + 2; }; my $process2 = sub { my $a = 3 * 4; }; my $count = 1000000; my $comp = timethese( $count, { process1 => $process1, process2 => $process2, } ); cmpthese $comp;
timethese関数に試行回数とハッシュリファレンスを渡します。このハッシュリファレンスの値には、実行するサブルーチンのリファレンスを指定します。
あとはこれを実行するだけでベンチマーク結果が表示されます。
加算と乗算だけでも結構な差が出ますね。