This crate allows you to measure how long it takes for a program to execute in different clocks. It ports the functions of the boost-chrono and boost-timer libraries.
The following clocks and their corresponding timers are implemented.
SystemClock,SystemTimerSteadyClock,SteadyTimerif supported by the system.HighResolutionClock,HighResolutionTimerProcessRealCPUClock,ProcessRealCPUTimerProcessUserCPUClock,ProcessUserCPUTimerProcessSystemCPUClock,ProcessSystemCPUTimerProcessCPUClock,ProcessCPUTimerThreadClock,ThreadTimer
Add this to your Cargo.toml:
[dependencies]
howlong = "0.1"let timer = howlong::HighResolutionTimer::new();
// do some computations
println!("{:?} have passed.", timer.elapsed());
let timer = howlong::ProcessCPUTimer::new();
// do other computations
println!("{}", timer.elapsed()); // 5.71s wall, 5.70s user + 0ns system = 5.70s CPU (99.8%)Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.