15 Stimmen

Wie berechnet man am besten die ETA einer Operation?

Ich bin auf der Suche nach dem besten Weg, um ETA einer Operation (IE: Datei-Download) mit einer linearen Fortschritt Informationen zu berechnen.

Nehmen wir an, ich habe die folgende Methode, die aufgerufen wird:

void ReportProgress(double position, double total)
{
    ...
}

Ich habe ein paar Ideen:

  • den Fortschritt in einer bestimmten Zeitspanne (z. B. die letzten 10 Sekunden) berechnen und diese Geschwindigkeit als Durchschnittsgeschwindigkeit für den Vorgang verwenden
  • einen Satz der letzten x gemeldeten Fortschritte aufbewahren, die Geschwindigkeit jedes Inkrements berechnen und den Durchschnitt verwenden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X