Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

Re: allgemein: Parser vorgehensweise.

  Alt 1. Feb 2010, 15:13
Viel Rechenzeit benötigt das Verschieben der nachfolgenden Nodes nicht unbedingt.

Wenn/Da du in den Nodes doch bestimmt auch die untergeordneten Nodes auflistest.
Den nachfolgenden/vorhergehenden Geschwisterknoten müßte man nicht unbedingt in jedem Knoten speichern, da diese ja auch im Elternknoten aufgelistet sind.
Also im Prinpip muß man einfach alle nachfolgenden Knoten durchgehn und überall nur einen Offset (die Verschiebung) aufrechnen.
Den String selber kann man ja komplett, für alle Knoten, auf einmal verschieben.


Aber ob du so weniger Speicher benötigst, das kommt darauf an, wie groß die XML-Datei ist und wie viel/oft etwas geändert wird.

Unter Umständen muß man ja alles umkopieren, selbst wenn man ganz am Ende nur eine Kleinigkeit einfügt.
Vorallem wenn nicht genug platz für diesen String ist.

Auch benötigst du einen "großen" zusammenhängenden Speicherplatz, wärend die Daten auch in kleineren Speicherlücken verteilt sein kann, wenn man nicht alles zusammenhängend hat.

Zitat:
(Brauch ich mehr Speicher)? Oder Objekte?
Wie gesagt, das kommt auf den Einzelfall drauf an
und ob du/wann du mehr Objekte benötigst, das kommt wohl erstmal grundlegend auf die Verwaltung deiner Daten an.

- viele XML-Libs haben z.B. für jedes Attribut ein eigenes Objekt
- in meiner Lib werden alle Attribute eines Knotens in nur einem Objekt verwaltet
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat