[Armadillo:00773] Re: マイクロ秒単位の時間計測

Fumito Morishima email@hidden
2006年 1月 4日 (水) 16:23:26 JST


森島です。

以下のようなソースコードをコンパイルして、
gettimeofdayを試してみました。

#include <stdio.h>
#include <sys/time.h>

int main()
{
    struct timeval time;

    gettimeofday(&time, NULL);
    printf("sec:%d, usec:%d\n", time.tv_sec, time.tv_usec);

    gettimeofday(&time, NULL);
    printf("sec:%d, usec:%d\n", time.tv_sec, time.tv_usec);

    return 0;
}

実行すると、

armadillo9:~# ./time_test
sec:1136356381, usec:618007
sec:1136356381, usec:620097

このように表示され、マイクロ秒の精度があるように
思えるのですが、高田さんが作ったプログラムと
実行結果はどのようなものでしたか?

カーネルのバージョンは、2.4.31 と 2.6.12 の両方で試しました。

高田 健一 wrote:
> 高田です。お世話になっております。
> 
> Armadillo9でDebianにて時間計測を行いたいのですが、マイク
> ロ秒単位の精度が出ません。
> やりたいことは下記のように、何らかの処理の前後で時間を計
> 測し、処理時間を数十マイクロ秒の精度で求めることです。
> ----------------------------------------------
> t1 = 時間計測関数();
> 
> //*時間のかかる処理*
> 
> かかった時間 = 時間計測関数() - t1;
> ----------------------------------------------
> 
> これまでに下記の関数を上記の時間計測関数()として使用して
> みました
> ・gettimeofday()
>  MLのArmadillo-Jに関するスレッドにあったようにマイクロ
> 秒単位の戻り値が消えてしまい、秒単位の計測しかできない
> 
> ・ clock()
>  精度が10ms程度までしか出ない
> 
> ・times() (戻り値を使用)
>  精度が10ms程度までしか出ない
> 
> どなたか良い方法をご存知の方、ご教授いただけないでしょう
> か?
> 
> 
> --------------------------------------
> Yahoo! Mail - supported by 10million people
> http://pr.mail.yahoo.co.jp/mail_pr/
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo



armadillo メーリングリストの案内