cpu_time/
lib.rs

1//! CPU Time Measurement Library
2//! ============================
3//!
4//! [Documentation](https://docs.rs/cpu-time) |
5//! [Github](https://github.com/tailhook/cpu-time) |
6//! [Crate](https://crates.io/crates/cpu-time)
7//!
8//! # Example
9//!
10//! ```rust
11//!
12//! use std::time::Duration;
13//! use cpu_time::ProcessTime;
14//!
15//! // Manually handle errors
16//! let start = ProcessTime::try_now().expect("Getting process time failed");
17//! // .. do something ..
18//! let cpu_time: Duration = start.try_elapsed().expect("Getting process time failed");;
19//! println!(" {:?}", cpu_time);
20//!
21//! // Panic in case of an error
22//! let start = ProcessTime::now();
23//! // .. do something ..
24//! let cpu_time: Duration = start.elapsed();
25//! println!(" {:?}", cpu_time);
26//! ```
27
28#![warn(missing_debug_implementations)]
29#![warn(missing_docs)]
30
31#[cfg(unix)] extern crate libc;
32#[cfg(windows)] extern crate winapi;
33
34// It looks like all modern unixes support clock_gettime(..CPUTIME..)
35#[cfg(unix)] mod clock_gettime;
36#[cfg(windows)] mod windows;
37
38#[cfg(unix)] pub use clock_gettime::{ProcessTime, ThreadTime};
39
40#[cfg(windows)] pub use windows::{ProcessTime, ThreadTime};