Schrift
[thread]13121[/thread]

performantes logfile handling in einer cgi-bin?

Leser: 1


<< >> 4 Einträge, 1 Seite
chris-
 2009-02-09 17:52
#118755 #118755
User since
2007-10-18
18 Artikel
BenutzerIn
[default_avatar]
muss in eine cgi-Anwendung einen Screen einbauen, um in einem Logfile zu "blättern". Nachdem das bei großen Logfiles sehr aufwendig sein kann:

Gibt es eine bevorzugte Methode dafür? (Natürlich nur lesend).
Ist Tie::File dafür besser oder einfach open?

Txs
GwenDragon
 2009-02-09 21:02
#118760 #118760
User since
2005-01-17
14745 Artikel
Admin1
[Homepage]
user image
Wenn du nur lesen willst, brauchst du kein Tie-File.

Ich würde einfach eine bestimmte Anzahl an Zeilen einlesen und die dann auf der Seite ausgeben.
Du musst dir halt nur in einem CGI-Parameter merken, wieviel Zeilen du schon ausgegeben hast oder die wievielte Seite es ist.
chris-
 2009-02-11 10:40
#118782 #118782
User since
2007-10-18
18 Artikel
BenutzerIn
[default_avatar]
Es ist aber auch kein Fehler Tie-File zu nehmen?
In deren Doku steht, dass bei großen Dateien (in meinem Fall mehrere zig MB) nicht die ganze Datei eingelesen wird, was ja ein Vorteil für den Arbeitsspeicher bringt.
Gast Gast
 2009-02-11 11:11
#118784 #118784
Bei einer reinen Ausgabe kannst du auch per "seek" zu der stelle springen wo du aufgehört hast zu lesen. du mußt die "tell" position nur mit übergeben.
Alternativ kannst du auch die Zeilen zählen.
Du mußt nicht immer die gesammte Datei einlesen um ein paar zusammenhängende Zeilen aus zu geben.

"Tie::File" nimmt dir etwas arbeit ab, abr verschwendet selbst etwas an Rechenzeit. Bei deiner Anforderung ist die "händische" Variante definitiv schneller als das Modul.
<< >> 4 Einträge, 1 Seite



View all threads created 2009-02-09 17:52.