Calculate rate_min, rate_max, etc, regardless of whether show_stats is true, since the overhead is minimal and it will allow us to use that information for other options later.

This commit is contained in:
Andrew Wood
2024-10-04 20:15:15 +01:00
parent 9aef419c4c
commit 208ac286f8
+14 -15
View File
@@ -101,27 +101,26 @@ void pv_calculate_transfer_rate(pvstate_t state, bool final)
transfer_rate = state->calc.prev_rate;
state->calc.prev_trans += bytes_since_last;
} else {
long double measured_rate;
transfer_rate = ((long double) bytes_since_last + state->calc.prev_trans) / time_since_last;
measured_rate = transfer_rate;
state->calc.prev_elapsed_sec = state->transfer.elapsed_seconds;
state->calc.prev_trans = 0;
/* Maintain information for statistics. */
if (state->control.show_stats) {
long double measured_rate = transfer_rate;
if (state->control.bits)
measured_rate = 8.0 * measured_rate;
if (state->control.bits)
measured_rate = 8.0 * measured_rate;
if ((state->calc.measurements_taken < 1) || (measured_rate < state->calc.rate_min)) {
state->calc.rate_min = measured_rate;
}
if (measured_rate > state->calc.rate_max) {
state->calc.rate_max = measured_rate;
}
state->calc.rate_sum += measured_rate;
state->calc.ratesquared_sum += (measured_rate * measured_rate);
state->calc.measurements_taken++;
if ((state->calc.measurements_taken < 1) || (measured_rate < state->calc.rate_min)) {
state->calc.rate_min = measured_rate;
}
if (measured_rate > state->calc.rate_max) {
state->calc.rate_max = measured_rate;
}
state->calc.rate_sum += measured_rate;
state->calc.ratesquared_sum += (measured_rate * measured_rate);
state->calc.measurements_taken++;
}
state->calc.prev_rate = transfer_rate;