MICROUPTIME(9)

名称
microuptime, getmicrouptime, nanouptime, getnanouptime - 起動からの経過時間の取得

書式
<sys/time.h> void microuptime(struct timeval *tv) void getmicrouptime(struct timeval *tv) void nanouptime(struct timespec *ts) void getnanouptime(struct timespec *tsp)

解説
microuptime() および getmicrouptime() 関数は、 tv によって指定されたアドレスに、 timeval 構造体として、起動からの経過時間を保存します。 nanouptime() および getnanouptime() 関数は、同じ作用を実行しますが、代りに timespec 構造体として経過時間を記録します。

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

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

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

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

関連項目
getmicrotime(9), getnanotime(9), microtime(9), nanotime(9), tvtohz(9)

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

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