先週、CPUやメモリ、IOを消費していないにも関わらず、サーバのパフォーマンスが、グッと低下する現象が発生したので、今更、Benchmark のperldocを読んでみた。
使い方のポイントの一つは、COUNTの指定方法かも
http://search.cpan.org/perldoc?Benchmark
http://perldoc.jp/docs/modules/Benchmark-1.10/Benchmark.pod
Benchmark自体の使用方法は、ググれば、たくさん見つかります。
例えば、「timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] )」内で引数:COUNTについて、次のように記載されていますが...
The COUNT can be zero or negative: this means the minimum number of CPU seconds to run. A zero signifies the default of 3 seconds. For example to run at least for 10 seconds:
つまり、COUNTはメソッド(関数)の実行回数を指定しますが、負の値を指定した場合、実行するCPU秒数の最低値を意味することになります。例えば、最低 10 秒実行するには、次の通り。
my $result = timethese(-10, { Name1 => sub { ... }, Name2 => sub { ... } }); cmpthese($result);
COUNT=マイナス値をしていた方がよさそうな気がしますが、気のせいかな?
Benchmarkって、標準moduleなんですね?
$ corelist Benchmark Benchmark was first released with perl 5
こちらも、今更、知りました。