perl Benchmarkモジュール
#オブジェクト指向モジュールの一つBenchmarkを使ってベンチマークのテストを行う #ベンチマーク #benchmark.pl #モジュール呼び出し use Benchmark; #1つ目のベンチマークオブジェクト $before_time = new Benchmark; #500000カウントの計算 &recursive(50000); #2つ目のベンチマークオブジェクト $after_time = new Benchmark; #2つのベンチマークから結果を求める $diff = timediff($after_time, $before_time); #表示 print "結果:", timestr($diff), "\n"; #時間を計測するための再帰呼び出し sub recursive{ my($number) = @_; #1つずつカウンタを減らして0になるまで再帰呼び出しを行う &recursive(--$number) if ($number); } #$before_timeと$after_timeという2つのオブジェクトをBenchmarkクラスから #生成している。それぞれのオブジェクトは挙動や変数の管理が独立しており、 #相互に干渉しない。次に、timediff(2つのBenchmarkオブジェクトの間の時間 #の差を返すサブルーチン)とtimestr(timediffサブルーチンの戻り値オブジェ #クトを文字列に変換するサブルーチン)という2つのサブルーチンを使ってお #互いのオブジェクトを比較し表示する。 #実行結果 # 結果: 1 wallclock secs ( 0.03 usr + 0.01 sys = 0.04 CPU)
- 作者: Randal L. Schwartz,brian d foy,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/07/25
- メディア: 大型本
- 購入: 7人 クリック: 22回
- この商品を含むブログ (17件) を見る