Measure elapsed time
-
Instant
-
now
-
elapsed
-
std::time::Instant::now
-
as_secs
-
as_millis
-
The Instant type allows us to get snapshots if time that can help us measure elapesd time.
-
In this example we have a function to decide if a number is a prime number. We only use it to have some code that can take substantial time.
-
We get the timestamp before and after and we calculate the elapsed time.
fn main() {
let start = std::time::Instant::now();
for number in 2..=100000 {
let _prime = is_prime(number);
//println!("{} {}", number, prime);
}
let end = std::time::Instant::now();
println!("{:?}", start);
println!("{:?}", end);
let elapsed = end - start;
println!("{:?}", elapsed);
println!("{:?}", start.elapsed());
println!("milliseconds: {:?}", start.elapsed().as_millis());
println!("seconds: {:?}", start.elapsed().as_secs());
}
fn is_prime(number: u32) -> bool {
for div in 2..number {
if number % div == 0 {
return false;
}
}
true
}
Instant { tv_sec: 5094523, tv_nsec: 863978009 }
Instant { tv_sec: 5094525, tv_nsec: 872085539 }
2.00810753s
2.008157397s
milliseconds: 2008
seconds: 2