Отметка монотонных часов в Rust
Отметка фиксирует момент на монотонных часах. Она не показывает дату на календаре, но всегда идет вперед и подходит для замера длины работы участка кода.
Отметку ставят в начале интересующего фрагмента, а после короткого куска работы спрашивают, сколько прошло. Команда прошедшего времени отдает интервал:
use std::time::Instant;
fn main() {
let start = Instant::now();
let mut n = 0;
for _ in 0..1000 {
n += 1;
}
let passed = start.elapsed();
println!("{}", n);
println!("{:?}", passed);
}
Число на экране больше нуля: между двумя точками выполнился короткий цикл. Разность двух отметок можно считать и другими командами, но прошедшее время от одной отметки проще для первых программ:
use std::time::Instant;
fn main() {
let a = Instant::now();
let b = Instant::now();
let gap = a.elapsed();
println!("{:?}", gap);
}
Запишите в src/main.rs отметку в переменную
t0, выполните цикл на тысячу шагов
и выведите прошедшее время от t0.
Скажите, что удобнее для замера от одной отметки: команда прошедшего времени или разность двух отметок вручную.
Дано число:
let num = 15;
После отметки выполните цикл столько раз,
сколько лежит в num, и выведите
прошедший интервал в секундах через
целую часть.