假设我有一个下面的铁 rust 代码:
use indicatif::ProgressBar;
fn main() {
let limit = 100_000_000;
let pb = ProgressBar::new(limit);
for i in 0..limit {
pb.inc(1);
}
pb.finish();
}
执行此代码需要数十秒.
同样,当我想要显示大量循环的进度条,而每个循环花费的时间很少时,似乎表明每一次循环都会更新终端上写入的进度条,开销变得很大.
有没有办法减少这种开销?例如,每50毫秒更新一次进度条?
(我知道使用std::time::{Duration, Instant}
可以做到这一点,但我想知道更简单、更易读的解决方案(如果存在的话).)