タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

clockとcpuに関するyukimori_726のブックマーク (3)

  • 実行時間計測の方法

    実行時間を計測する方法は各種存在していますが、例題では 4 種類の方法により計測しています。 clock/getrusage では、呼び出したプロセスの CPU 時間やリソース使用量が利用されるため、sleep/usleep 関数により CPU の利用を停止すると、その間の経過時間は計測されないので注意が必要です。 比較的長い時間の処理で、かつ I/O 等も含めたプログラム全体の処理を測定するには、時刻から経過時間を計測する gettimeofday を用いる方法が無難な方法になります。 times はシステムが起動した時間からのクロック数を返すため、gettimeofday と同様プログラムが CPU を利用しない間も、システム側が利用しているクロックを取得し、経過時間を取得することができます。 プログラム中の一部の処理において CPU 時間を測る場合、短い時間測定には getrusag

  • 実行時間の計測(C言語)

    実行時間について教えてください。 実行時間について不可思議な現象が起きたので疑問に思いました。 C言語においてfor文の2億回ループする場合の実行時間を計測し、計測する内容を変えます。 以下のプログラムのように、時間を計測します。 -------------------- ・ ・ gettimeofday(&t0, NULL); (計測したい処理) gettimeofday(&t1, NULL); ・ ・ --------------------- (計測したい処理)に以下のようなプログラムを入れ時間を計測しました。 以下、(計測したい処理)  → それにかかった実行時間 <実行結果 書式(計測したい処理) → 計測された時間 > (1)for ( i = 0; i < 2000000000; i++);         →  5.412432 sec (2)for ( i = 0; i

    実行時間の計測(C言語)
  • CPUクロックに基づく相対時刻の計測

    [ C++で開発 ] CPUクロックに基づく相対時刻の計測 CPUのクロックに基づき電源ONからの相対時刻を取得する方法を調査し記述します。最近のCPUは、クロックに従ってカウントアップするレジスタを保持しているので、このレジスタの値を読み出すことでCPUが起動してからのクロック数を取得することができます。例えば1GHzの動作周波数のCPUであれば、分解能は1ns(ナノ秒)となります。非常に高精度な分解能です。 2012-09-22 TSCの種類について追記 RDTSCP命令について追記 VisualC++のコンパイラ組み込み関数__rdtsc/__rdtscpについて追記 Intel x86系CPU RDTSC CPU命令を直接利用 Intel x86系のCPUAMDのAthlon等も含む)では、CPUクロックごとに加算される64bitのタイムスタンプカウンタ(IA32_TIME_ST

  • 1