Skip to content

Commit

Permalink
Improve progress bar precision
Browse files Browse the repository at this point in the history
  • Loading branch information
lbeder committed Nov 20, 2024
1 parent c3cff26 commit a585ad7
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ Salt is: s...t
Password is: p...d
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
Key is (please highlight to see): 0xad9aa031287b42f45c40a5caf3b3ed47f795d9315d22ab50a25652b3f2a6b716
Expand Down Expand Up @@ -394,14 +394,15 @@ Verifying the checkpoint...
The password, salt and internal data are correct
████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 5/10 0% (4s)
████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 5/10 0% (4s)
```
Final result:
```sh
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
Key is (please highlight to see): 0xad9aa031287b42f45c40a5caf3b3ed47f795d9315d22ab50a25652b3f2a6b716
Expand Down Expand Up @@ -443,13 +444,13 @@ Verifying the checkpoint...
The password, salt and internal data are correct
████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 5/20 0% (56s)
████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 5/20 0% (56s)
```
Final result:
```sh
████████████████████████████████████████████████████████████████████████████████ 20/20 100% (0s)
████████████████████████████████████████████████████████████████████████████████ 20/20 100% (0s)
Key is (please highlight to see): 0x07eee820a3f92c5577dedd07e7d325dc58bb1064f9ae05af30be9863ec6e7354
Expand Down Expand Up @@ -481,7 +482,7 @@ Salt is: s...t
Password is: p...d
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
Key is (please highlight to see): 0xad9aa031287b42f45c40a5caf3b3ed47f795d9315d22ab50a25652b3f2a6b716
Key (base64) is (please highlight to see): rZqgMSh7QvRcQKXK87PtR/eV2TFdIqtQolZSs/KmtxY+W4
Expand Down Expand Up @@ -515,7 +516,7 @@ SlowKey Parameters:
Scrypt: (n: 1048576, r: 8, p: 1)
Argon2id: (version: 19, m_cost: 2097152, t_cost: 2)
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
████████████████████████████████████████████████████████████████████████████████ 10/10 100% (0s)
Key is (please highlight to see): 0xad9aa031287b42f45c40a5caf3b3ed47f795d9315d22ab50a25652b3f2a6b716
Expand Down
13 changes: 12 additions & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -569,14 +569,19 @@ fn main() {

let mb = MultiProgress::new();

// Please note that we are using a custom message, instead of percents, since we want a higher resolution
// that the default one
let pb = mb.add(ProgressBar::new(iterations as u64)).with_style(
ProgressStyle::with_template("{bar:80.cyan/blue} {pos:>7}/{len:7} {percent}% ({eta})").unwrap(),
ProgressStyle::with_template("{bar:80.cyan/blue} {pos:>8}/{len:8} {msg}% ({eta})").unwrap(),
);

pb.set_position(offset as u64);
pb.reset_eta();
pb.enable_steady_tick(Duration::from_secs(1));

// Set the percent using a custom message
pb.set_message(format!("{}", (offset * 100) as f64 / iterations as f64));

let mut cpb: Option<ProgressBar> = None;

if checkpoint.is_some() && checkpointing_interval != 0 {
Expand Down Expand Up @@ -636,6 +641,12 @@ fn main() {
}

pb.inc(1);

// Set the percent using a custom message
pb.set_message(format!(
"{}",
((current_iteration + 1) * 100) as f64 / iterations as f64
));
},
);

Expand Down

0 comments on commit a585ad7

Please sign in to comment.