Dateiverarbeitungszeit in Abhängigkeit zur Dateigröße & Durschnittsverarbeitungszeit

Fabio Hellmann

Erfahrenes Mitglied
Hallo Community,

ich tüftel bereits seit ein paar Stunden an einer Mathe Aufgabe, die ich in mein Programm einbauen will. Folgendes Problem:

gegeb.:
Code:
Seitenanzahl [S] = 24 Seite
Avg [A] = 14.633,6 ms/Seite (-> Durchschnittswert von allen bisher verarbeiteten Dateien)
Dateigröße [m] = 3.224.872 Byte

gesucht:
Verarbeitungszeit = ? [D] (-> gestoppt wurde eine Zeit von 203.588ms)

Wie komm ich mithilfe von den gegebenen Werten an die gesuchte Verarbeitungszeit [VZ]?

Ich habe bereits schon zahlreiche Formeln aufgestellt, komme allerdings noch nicht so recht auf einen grünen Zweig.

Alle Überlegungen haben bisher nicht funktioniert.
1. Überlegung:
Code:
[A] * [S] - [m] = [D]

2. Überlegung:
Code:
[m] / [S] / [A] = [D]

...

Ich hoffe, dass mir da jemand weiterhelfen kann. Es muss nicht gleich die komplette Lösung sein. Über einen Denkanstoß in die richtige Richtung würde ich mich auch schon freuen. ;)

Gruß

Fabio
 
Zuletzt bearbeitet:
Hi.

Meintest du evtl. 14.633,6 ms / Seite?

Ansonsten ist die Berechnung völlig unabhängig von der Dateigröße - du hast ja auch nur eine Aussage über die durchschnittl. Zeit pro Seite - egal wie groß diese ist.
Code:
[S] ms / S * [A] S = [D] ms
Gruß
 
Meintest du evtl. 14.633,6 ms / Seite?
Ja da hab ich mich wohl vertippt. Danke :)

Das habe ich mir auch gedacht. Das ist auch die Formel die ich aktuell verwende. Allerdings gibt es bei dieser Formel einen kleinen Schönheitsfehler.

Angenommen es werden 5 Dokumente mit geringer Größe (z.B. 5kb & 2 Seiten) in einer Durschnittszeit von 2sec pro Seite verarbeitet. Wenn nun das 6. Dokument (z.B. 20kb & 3 Seiten) groß ist wird diese Zeit von 2sec * die 3 Seiten (= 6sec Verarbeitungszeit) nicht ausreichen zum Verarbeiten.

Und genau dieses Problem habe ich mir gedacht kann ich unterbinden, indem ich die durchschnittliche Verarbeitungszeit mit der Dateigröße ins Verhältniss setze.

Ich hoffe das war einigermaßen verständlich erklärt. :)
 
Geht es dir jetzt eigentlich "nur" um die mathematische Lösung oder soll damit eine bestimmte Funktion ausgeführt werden?

Wenn du nur ausrechnen willst wie lange der Ausdruck wohl dauert, bleibt dir nichts anderes übrig als mit einen Durchschnittswert zu rechnen. Das das nicht immer stimmt, bemerkt man ja z.B. wenn man unter Windows eine größere Datei kopiert. Da wird die verbleibende Restzeit ja auch ständig neu berechnet.

Wenn du nach dem Drucken eine bestimmte Aktion ausführen willst, solltst du es vielleicht anders angehen.
 
Angenommen es werden 5 Dokumente mit geringer Größe (z.B. 5kb & 2 Seiten) in einer Durschnittszeit von 2sec pro Seite verarbeitet. Wenn nun das 6. Dokument (z.B. 20kb & 3 Seiten) groß ist wird diese Zeit von 2sec * die 3 Seiten (= 6sec Verarbeitungszeit) nicht ausreichen zum Verarbeiten.

Und genau dieses Problem habe ich mir gedacht kann ich unterbinden, indem ich die durchschnittliche Verarbeitungszeit mit der Dateigröße ins Verhältniss setze.
Warum machst du es überhaupt abhängig von den Seiten wenn die Verarb.-Zeit eher von der Größe abhängig ist? Zumal die Seiten offenbar auch unterschiedlich groß sind.

[m] = 5*5 = 25 kiB
[A] = [m] / (4*5) s = 25/20 kiB/s

[D](20 kiB) = 20 kiB / [A] = 16s

Gruß
 
@tombe:
Es sieht folgendermaßen aus. Ich habe mein Programm, von diesem ich via einen Webservice meine Dokumente verarbeiten lasse. Dieser Webservice hat eine fest definierte Schnittstelle, welche ich nicht ändern kann. Dieser Schnittstelle muss ich das Dokument und einen TimeOut (Verarbeitungszeit) mitgeben. Wenn die Verarbeitungszeit von mir nun zu kurz gewählt ist, bricht der Webservice die Verarbeitung ab und wirft mir eine Exception. Wenn ich aber eine fixe Verarbeitungszeit nehme (momentan 60min), wird für diesen Zeitraum eine Instanz für dieses eine Dokument auf dem Webservice offen gehalten. Egal ob das Dokument schon nach 5min oder erst nach 55min fertig ist. Deshalb wollte ich bzw. muss ich das jetzt dynamisch berechnen lassen.

@deepthroat:
Warum machst du es überhaupt abhängig von den Seiten wenn die Verarb.-Zeit eher von der Größe abhängig ist? Zumal die Seiten offenbar auch unterschiedlich groß sind.
Das ist eine gute Frage. Da in meinem Programm momentan die Durchschnittszeit * die Seitenanzahl als Formel zur Berechnung der Verarbeitungszeit steht, war ich wohl so darauf fixiert diese Durchschnittszeit/Seite wieder zu verwenden.

[m] = 5*5 = 25 kiB
[A] = [m] / (4*5) s = 25/20 kiB/s
Ok, diesen Rechenschritt kann ich noch nachfolziehen. Der klingt auch sehr plausibel aus meiner Sicht.

[D](20 kiB) = 20 kiB / [A] = 16s
Die Zeile verstehe ich nicht so ganz. Du teilst die 20 kiB des 6. Dokuments durch den Durchschnittswert (kiB/s) der vorangegangenen Dokumente. Aber wie kommst du dann auf 16s?

Gruß

Fabio
 
Zurück