5

pub-sub モデルでオブジェクトのレイテンシを計算するプログラムがあります。タイムスタンプに次の関数を使用しました。

uint64_t GetTimeStamp() {
    struct timeval tv;
    gettimeofday(&tv,NULL);
    return tv.tv_sec*(uint64_t)1000000+tv.tv_usec;
}

待ち時間は、パブリッシャーとサブスクライバーのタイムスタンプの差として測定されます。というわけで、測定されたレイテンシーの単位が気になります。秒単位ですか、それともマイクロ秒単位ですか??

4

2 に答える 2

8

timeval構造体には、秒のtv_sec絶対値をtv_usec与える と、残りの端数をマイクロ秒単位で与える があります。

したがって、マイクロ秒単位で解像度を取得できます。

詳細については、http://www.gnu.org/software/libc/manual/html_node/Elapsed-Time.htmlを参照してください。

于 2013-07-25T06:31:16.137 に答える
4

tv.tv_sec は秒数を示し、tv.tv_usec は残りのマイクロ秒数を示します。

gettimeofday() の原則とその精度について:

Linux gettimeofday() のマイクロ秒時間はどのように取得され、その精度はどのくらいですか?

gettimeofday() はマイクロ秒の解像度であることが保証されていますか?

于 2013-07-25T06:34:47.850 に答える