Philipp Hasenfratz: Ressourcenschonend die letzten 10 Zeilen einer Textdatei ausg.

Beitrag lesen

Halihallo Michael

jetzt brauchen wir langsam eine exakte Aufgabenstellung. Was genau willst Du erreichen?

Ich wünschte ich könnte Dir diese Frage beantworten, aber ich kenne keine Antwort. Mir
ging es, wie ich im Ausgangsposting sagte, um eine allgemeine Antwort auf die "last-lines"
Frage. Mir ging es desweiteren darum, eine Lösung nicht über das komplette einlesen der
Datei zu erreichen (ressourcensparend). Ein weiterer Aspekt war natürlich auch die
Verarbeitungsgeschwindigkeit.
Ich habe keine konkrete Aufgabenstellung, ich habe sie allgemein gehalten. Deshalb gibt
es auch duzende von Lösungen, die allesammt der Aufgabenstellung genügen (die Lösung
über Modulus war eine, die Lösung über binäre Dateien und "Cache" eine andere). Ich habe
lediglich einen guten Kompromiss gesucht, der besser als das gesamte Einlesen der Datei
ist und dazu noch schneller sein soll... Das war das Diskussionsthema, Diskussion
deswegen, weil es eben viele Meinungen und viele Algorithmen gibt.

Willst Du die Maschinenlast über die reale Verteilung existierender Dateigrößen minimieren, oder willst Du einen Algorithmus implementieren, der eine benutzerfreundliche Antwortzeit garantiert?
Im ersten Falle mußt Du die häufigen Zugriffe schnell machen, im zweiten die langsamen ...

... ob dieser nun für möglichst alle realen Verteilungen optimiert ist, oder nur der
möglichst kleinen Antwortzeit dient, ist eigentlich gar nicht in der Aufgabenstellung
enhalten gewesen. Aber im Sinne einer allgemeinen Lösung, würde ich das Kriterium:

Möglichst performante und ressourcenschonende Verarbeitung möglichst aller realen
Verteilungen von Dateigrössen.

in die Aufgabenstellung einbeziehen. Auch wieder "wischi-waschi", unklar definiert. Mir
geht es eben nicht um einen konkreten Anwendungsfall, sondern um eine allgemeine Lösung,
wie sie z.B. tail implementiert, nur, dass ich dies gerne in Perl formuliert hätte.
Mir geht es um die Formulierung und Umsetzung eines Algorithmus, den man auf die
"last-lines" Frage posten kann und den meisten Anwendungsfällen genügt (er muss also auch
nicht bestimmte Fälle optimieren). Die Lösung über Modulus genügt dem eigentlich auch
schon, denn sie ist schneller und lädt nicht die ganze Datei in den Speicher. Die Lösung
über binäre Behandlung ist auch gut und optimiert für grösse Dateien, wobei die kleinen
ebenso performant verarbeitet werden.

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.