• ベストアンサー

プログラムのループ1周に費やした時間

OSとしてUbuntu9.10を使用しており, C++のプログラムを作成しています. 無限ループを使うプログラムなのですが 1周あたり何ms費やしているのかを知るには どのような関数,システムコールを使えばよいですか. できるならば,精度は1ms程度が良いです.

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

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

一周ごとにgettimeofdayで現在時刻を取って差分を見るのが基本かな。 マニュアルを見るとこれからはclock_gettimeを使った方が良いかも知れないけど。 # http://www.linux.or.jp/JM/html/LDP_man-pages/man2/gettimeofday.2.html これの精度は現在の実装ならCPUクロックレジスタを見て補正しているのでミリ秒より細かい精度はあると思う。

vjpo
質問者

お礼

ご丁寧にありがとうございます! URLを参考にしてやってみます!! ありがとうございました!

その他の回答 (1)

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.2

たとえば 10000回まわして、それにかかった時間を10000で割れば良いのではないでしょうか。 回す回数が多いほど精度が上がります。