Thread 2 Arrays abwechselnd miteinander "verbinden" (12 answers)
Opened by Ensretted at 2008-07-23 17:09

Ensretted
 2008-07-28 16:07
#112834 #112834
User since
2008-07-23
11 Artikel
BenutzerIn
[default_avatar]
Hallo Linuxer, Dubu,
also es war eine ca. 50MB Datei...das gleiche Problem hatte ich unter VB auch schon...ein zeielnweises Einlesen einer Datei dauert immer am längsten.

Unter VB hab ich das Problem so gelöst: Einlesen der ganzen Datei als String.
Unter Perl als Array (oder als String mit Zerlegung(Split) ).
|-> noch ne Möglichkeit?

Habe mittlerweile die verschiedenen Ansätze "kombiniert":
1. lese mit grep zuerst alle speziellen/relevanten Zeilen ein,
2. danach zeilenweise über dieses Array (welches nur die relevanten Zeilen enthält).
Hab allerdings hierfür leider noch keine Zeitmessung.
Mal schauen ob ich noch meinen alten Code habe - für ne Zeitmessung.

Am Anfang hab ich eine 10MB Datei eingelesen, da hat es auch schon 10s gedauert (und ich dachte "Oh Gott, was für ne Sch.."), bis ich darauf gekommen bin, dass die Datei vom USB-Stick gelesen wurde. ;-)
- jetzt sind's von Platte 3s

Was den Speicher angeht...die PCs haben mehr als genug...klar, aufgrund dass wir XP verwenden (max Dateigrösse=2GB), ist das der Worstcase.
I.d.R. haben die Dateien 20-50MB.

10s sind im Rahmen des Erträglichen...bei uns kommt es nur auf Schnelligkeit an (Speicher, Proz.last - spielt keine Rolle: wir haben da noch Möglichkeiten).

Bei einer ca. 100MB Datei brauchte der Code >1min, wobei ich die Zeit gemessen habe, von Start des Programms bis Anfang der Ausgabe (Bildschirm) - muss noch überprüfen, ob von Stick oder Platte.
Meinen Code hab ich aus Angst hier bisher nicht gemessen ;-)

Da ich Perl-Newbie bin, kenne ich natürlich die Feinheiten bzw. die "Tricks" unter Perl noch nicht; für mich seid Ihr die Gurus - deswegen habe ich mich ja hier im Forum angemeldet, damit mir einer sagt/zeigt, wie man das besser machen kann.
Es gibt ja bekanntlich mehrere Wege nach Rom.


Gruss
Ens

View full thread 2 Arrays abwechselnd miteinander "verbinden"