Geschwindigkeit
-
Hallo zusammen,
nur mal so aus interesse.
Ich habe eine Datei (Konfigurationsdatei)
mit ca. 400 Zeilen a ~30 Zeichen. Wenn
ich diese Datei nun parse, kann ich entweder
die Datei Zeilenweise einlesen und jede
einzelne Zeile oder die Datei komplett einlesen
(nur ein fread) und anschließend im Speicher
parsen.Welche der beiden Varianten ist eurer Meinung nach
schneller? Ich denke Variante 2 aber genau wissen
tue ich es nicht.Bye Peter.
parsen
-
Das hängt von zahlreichen Einflüssen ab, exakt wirst Du es wissen, wenn Du beide Varianten realisierst und dann profilst und vergleichst.
Aber grundsätzlich kann man sagen:
Zeilenweise parsen:
- langsamer
+ speicherschonend
- nur vorwärts parsen möglich, kein Rücksprung in dem DokumentKomplett lesen und Speicher parsen:
+ schneller
- Speicherverbrauch höherProminente Beispiele für 1) wäre bei XML z.B. SAX, für 2) bei XML das DOM.
Je nachdem ob Dir Speicher (hängt ja auch von der Dokumentgröße ab) oder Laufzeit wichtiger ist solltest Du Deine Entscheidung treffen.
-
schätze, eine datei mit 400*30 bytes ist der überlegung nicht wert.
bei ner fetten datei, sagen wie mal ein paar dutzend mb (also eine, die mehrere sekunden lang lädt), kann man sich tolle sachen überlegen die
+speicherschonend
+schnell
sind.