os_clock

Access various operating system clocks (such as per-thread CPU Time, system clock, monotomic, etc) on Unix-family systems.

```rs use os_clock::{self, Clock};

let clock = cpuclockforcurrentthread(); clock.get_time(); ```

Notably, a clock for the CPU time of one thread can be accessed from another thread:

```rs let clock = cpuclockforcurrentthread().unwrap();

loop { if clock.gettime().unwrap() > Duration::frommillis(5) { break; } }

std::thread::spawn(move || { assert!(clock.gettime().unwrap() > Duration::frommillis(5));

let self_clock = cpu_clock_for_current_thread().unwrap();
assert!(self_clock.get_time().unwrap() < Duration::from_millis(1));

}) .join() .unwrap(); ```

Compatibility

Works on recent iOS, Mac, as well as Unix-family systems with a pthread.h that defines pthread_getcpuclockid (most modern Linux).