getnanotime(9) FreeBSD 一般コマンドマニュアル

getnanotime

前のページ 上に戻る 次のページ

getnanotime



     void
     microtime(struct timeval *tv);

     void
     getmicrotime(struct timeval *tv);

     void
     nanotime(struct timespec *ts);

     void
     getnanotime(struct timespec *tsp);


解説

     microtime() および getmicrotime() 関数は、 tv によって指定されたアドレス
     に、 timeval 構造体として、システム時刻を保存します。 nanotime() および
     getnanotime() 関数は、同じ作用を実行しますが、代りに timespec 構造体とし
     て時刻を記録します。

     microtime() および nanotime() は、可能な限り正確な現在時刻を返す時刻カウ
     ンタを、常に請求します。それに反して、 getmicrotime() および
     getnanotime() 関数は、正確ではないが高速に得られる時刻を代りに返し得る抽
     象化です。この振舞いは、kern.timecounter.method sysctl 変数により、切り替
     えることができます。

     0    高速なコード実行を選択して、正確さを犠牲にします。

     1    ( microtime() または nanotime() の呼び出しと同等の) より正確な時刻を
          返します。

     getmicrotime() および getnanotime() 関数の意図は、タイマの正確さ対実行時
     間のユーザの好みを強化することです。


関連項目

     getmicrouptime(9), getnanouptime(9), microuptime(9), nanouptime(9),
     tvtohz(9)


診断

     バグのあるハードウェアは kern.timecounter.method が 0 に設定されている時
     に、 "calcru negative..." を起こすことがあります。


歴史

     microtime および nanotime 関数は FreeBSD 3.0 で初めて登場しましたが、別の
     形で 4.4BSD から存在していました。


作者

     このマニュアルページは Kelly Yancey <kbyanc@posi.net> が書きました。

FreeBSD 4.4                     January 3, 2000                    FreeBSD 4.4

ABELNET VPSサービス