| MICROUPTIME(9) | Kernel Developer's Manual | MICROUPTIME(9) | 
binuptime, getbinuptime,
  microuptime, getmicrouptime,
  nanouptime, getnanouptime
  —
#include <sys/time.h>
void
  
  binuptime(struct
    bintime *bt);
void
  
  getbinuptime(struct
    bintime *bt);
void
  
  microuptime(struct
    timeval *tv);
void
  
  getmicrouptime(struct
    timeval *tv);
void
  
  nanouptime(struct
    timespec *ts);
void
  
  getnanouptime(struct
    timespec *tsp);
binuptime() and
  getbinuptime() functions store the time elapsed since
  boot as a struct bintime at the address specified by
  bt. The microuptime() and
  getmicrouptime() functions perform the same utility,
  but record the elapsed time as a struct timeval instead.
  Similarly the nanouptime() and
  getnanouptime() functions store the elapsed time as a
  struct timespec. The used structures are described in
  timeval(3).
The binuptime(),
    microuptime(), and
    nanouptime() functions always query the timecounter
    to return the current time as precisely as possible. Whereas
    getbinuptime(),
    getmicrouptime(), and
    getnanouptime() functions are abstractions which
    return a less precise, but faster to obtain, time.
The intent of the getbinuptime(),
    getmicrouptime(), and
    getnanouptime() functions is to enforce the user's
    preference for timer accuracy versus execution time. They should be used
    where a precision of 1/HZ (e.g., 10 msec on a
    100HZ machine, see
    hz(9)) is acceptable or where
    performance is priority.
| June 8, 2010 | NetBSD 9.4 |