ベンチマーク (module)Benchmark

back
標準モジュール

use Benchmark;
$count = コードを実行する回数

timethese ($count,
           {
             testcase1 => q {
               # テストケース1のコード
             },
             testcase2 => q {
               # テストケース2のコード
             },
             :
             :
           }
           );

実行回数が少ないとパパッと終了して実行時間の比較ができないので注意
んでもって、テストケースのコードは、サブルーチンにしておけばよいかな?
"testcase1" とかの文字列は適当でOK

こんなテンプレート作りました。
実行時に、引数で実行回数を指定すれば OK (なければ 10,000 回実行)

-------------
#!/usr/bin/perl

# ベンチマークテンプレート

use Benchmark;

# 実行回数
$count = 10000 unless (defined ($count = $ARGV[0]));
# 比較する関数名を羅列
@compare = qw{&function1 &function2 &function3 ...};

sub function1 {
  :
  :
}

sub function2 {
  :
}
sub function3 {
  :
}


timethese ($count,
           {(map { $_, $_ } @compare)}
           );


-------------

back