Infinite-Storage-Glitch/src/timer.rs

31 lines
650 B
Rust
Raw Normal View History

2023-02-04 21:41:32 +01:00
use std::time::{self, Duration};
use std::time::Instant;
pub struct Timer {
title: &'static str,
time: Instant,
}
impl Drop for Timer {
fn drop(&mut self) {
let micros = self.time.elapsed().as_micros();
let millis = self.time.elapsed().as_millis();
if micros < 10000 {
2023-02-15 19:30:45 +01:00
println!("{} ended in {}us", self.title, micros);
} else {
2023-02-15 19:30:45 +01:00
println!("{} ended in {}ms", self.title, millis);
}
2023-02-04 21:41:32 +01:00
}
}
impl Timer {
pub fn new(title: &'static str) -> Timer {
let start = Instant::now();
Timer {
title,
time: start,
}
}
}