- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ベンチマークの実行結果の表示について)
ベンチマーク実行結果の表示方法
このQ&Aのポイント
- DOSプロンプトでuse Benchmark;timethese(10000,{'name1'=>sub {..},'name2'=>sub {..}});を実行して出た結果 name1: name2: を並べて表示する方法について教えてください。
- 画面でname1とname2のベンチマーク結果を見たい場合、どのように表示するのが良いでしょうか?
- ベンチマークの実行結果をname1:******* name2:*******のように一覧表示する方法を教えてください。
- みんなの回答 (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には結構色々なルーチン入っているので、 別の方法もあるかと思いますけれども。
お礼
お返事が遅くなりまして申し訳ありませんでした。おかげさまで無事解決できました。