• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ベンチマークの実行結果の表示について)

ベンチマーク実行結果の表示方法

このQ&Aのポイント
  • DOSプロンプトでuse Benchmark;timethese(10000,{'name1'=>sub {..},'name2'=>sub {..}});を実行して出た結果 name1: name2: を並べて表示する方法について教えてください。
  • 画面でname1とname2のベンチマーク結果を見たい場合、どのように表示するのが良いでしょうか?
  • ベンチマークの実行結果をname1:******* name2:*******のように一覧表示する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

use Benchmark; my $result = Benchmark::timethese(10000,  {   'name1'=>sub {..},   'name2'=>sub {..}  },  'none' ); Benchmark::cmpthese($result); としてやれば以下のようなコンパクトな結果表示が得られます。     Rate  name2 name1 name2 214734/s --   75% (略) なお、上のソースでは、個々のwallclocksecs等は表示されません。 (最後の'none'パラメータを消すか、'all'にでもすれば表示されます) (ちなみに、timetheseではnone以外のパラメータ動かないみたいですね。) なお、表示の書式を細かく指定したいのであれば、 $time1 = new Benchmark;       #start  (計測内容) $time2 = new Benchmark;       #stop $time_diff = timediff($time2,$time1); $time_info = timestr($time_diff);   #calculation として$time_infoを取得し、これを整形してやる方が楽かもしれません。 (最初の$resultは参照なので、いじるのがかえって面倒かもしれません) Benchmarkには結構色々なルーチン入っているので、 別の方法もあるかと思いますけれども。

Mohican
質問者

お礼

お返事が遅くなりまして申し訳ありませんでした。おかげさまで無事解決できました。

関連するQ&A