man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2014
 
 

gethrtime(9F)

Name

gethrtime - get high resolution time

Synopsis

#include <sys/time.h>

hrtime_t gethrtime(void);

Description

The gethrtime() function returns the current high-resolution real time. Time is expressed as nanoseconds since some arbitrary time in the past; it is not correlated in any way to the time of day, and thus is not subject to resetting or drifting by way of adjtime(2) or settimeofday(3C). The hi-res timer is ideally suited to performance measurement tasks, where cheap, accurate interval timing is required.

Return Values

gethrtime() always returns the current high-resolution real time. There are no error conditions.

Context

There are no restrictions on the context from which gethrtime() can be called.

See Also

proc(1), gettimeofday(3C), settimeofday(3C), attributes(5)

Notes

Although the units of hi-res time are always the same (nanoseconds), the actual resolution is hardware dependent. Hi-res time is guaranteed to be monotonic (it does not go backward, it does not periodically wrap) and linear (it does not occasionally speed up or slow down for adjustment, as the time of day can), but not necessarily unique: two sufficiently proximate calls might return the same value.

The time base used for this function is the same as that for gethrtime(3C). Values returned by both of these functions can be interleaved for comparison purposes.