mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
new: Print progress estimates only when we have sufficient information
Without this patch, it might happen that the remaining time or processing rate were calculated just after start where nothing was processed yet. This resulted into division by a very small number (or zero) and the printed information was of little value. Instead of printing nonsenses we print only that the operation is in progress. The estimates will be printed later, after there is enough data.
This commit is contained in:
parent
1a915d1b38
commit
c58523088a
1 changed files with 11 additions and 7 deletions
|
@ -117,15 +117,19 @@ generic_print_progress (const char *action, const char *object,
|
||||||
printf ("%s %d ", action, processed);
|
printf ("%s %d ", action, processed);
|
||||||
|
|
||||||
if (total) {
|
if (total) {
|
||||||
double time_remaining;
|
printf ("of %d %s", total, object);
|
||||||
|
if (processed > 0 && elapsed_overall > 0.5) {
|
||||||
time_remaining = ((total - processed) / rate_overall);
|
double time_remaining = ((total - processed) / rate_overall);
|
||||||
printf ("of %d %s (", total, object);
|
printf (" (");
|
||||||
notmuch_time_print_formatted_seconds (time_remaining);
|
notmuch_time_print_formatted_seconds (time_remaining);
|
||||||
printf (" remaining).\033[K\r");
|
printf (" remaining)");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
printf ("%s (%d %s/sec.)\033[K\r", object, (int) rate_overall, object);
|
printf ("%s", object);
|
||||||
|
if (elapsed_overall > 0.5)
|
||||||
|
printf (" (%d %s/sec.)", (int) rate_overall, object);
|
||||||
}
|
}
|
||||||
|
printf (".\033[K\r");
|
||||||
|
|
||||||
fflush (stdout);
|
fflush (stdout);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue