2011-01-17 12 views

答えて

2
use Time::HiRes 'gettimeofday', 'tv_interval'; 

my $start = [ gettimeofday() ]; 

for (0..10000) { 
    my $iteration_start = [ gettimeofday() ]; 
    $my_array[$_] = `some external program`; 
    $elapsed_secs[$_] = tv_interval($iteration_start); 
} 

my $total_secs = tv_interval($start); 

gettimeofdayが一部のプラットフォームで利用できない場合があります。返される秒数は浮動小数点数になります。

6

コアモジュールから使用ベンチマーク:基本的にhttp://perldoc.perl.org/Benchmark.html

このような何か:

use Benchmark; 
$t0 = Benchmark->new; 
$my_array[$_] = `some external program`; 
$t1 = Benchmark->new; 
$td = timediff($t1, $t0); 
print "the code took:",timestr($td),"\n"; 

と複数の反復をテストするためには、試してみてください。

$t = timeit(10000, '... code...'); 
print "10000 loops of code took:", timestr($t), "\n"; 
関連する問題