1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Temporal quantification that takes into account the time a system spent suspended.
//!
//! Note: Some systems like FreeBSD, DragonFlyBSD, NetBSD, AIX, Fuchsia,
//! Emscripten don't support CLOCK_BOOTIME.
//!
//! For compatibility CLOCK_MONOTONIC is used as a fallback.
//!
//! Windows QueryPerformanceCounter includes suspended time. So for Windows and
//! unsupported platforms `std::time::Instant` is just reexported.
//!
//! # Examples
//!
//! Using [`Instant`] to calculate how long a function took to run:
//!
//! ```ignore (incomplete)
//! use boot_time::Instant;
//!
//! let now = Instant::now();
//!
//! // Calling a slow function, it may take a while
//! slow_function();
//!
//! let elapsed_time = now.elapsed();
//! println!("Running slow_function() took {} seconds.", elapsed_time.as_secs());
//! ```
pub use Duration;
cfg_if!