Performance von Sax vs. DOM

Status
Nicht offen für weitere Antworten.

foobar

Top Contributor
Hi,

kann mir jemand sagen, inwieweit sich die Verwendung von Sax gegenüber DOM positiv auf die Performance auswirkt?
Gibt es vielleicht einen Vergleich der beiden APIs in Bezug auf Ressourcenverbrauch respektive Verarbeitungsgeschwindigkeit?
Sind die Unterschiede überhaupt so groß, daß man beim parsen eines 5 seitigen Dokuments einen Unterschied merkt?

Gruß foobar
 
R

Roar

Gast
sax ist schneller, da dom 1. zeit braucht um dem baum zu generieren und 2. viel speicher für den baum braucht (viele objekte).
ich habs bei mir so gelöst, dass ich mir meinen eigenen kleinen dom baum baue (mit eigenen klassen). ob das jetz schneller is weiß ich auch nich *g
was wilslt du denn machen? welche api am besten ist, kommt imerm auf den zweck drauf an :S
 

foobar

Top Contributor
Ich will ein komplettes Dokument einmal parsen und dann daraus Objekte bauen um später mit diesen Objekten arbeiten zu können.

ich habs bei mir so gelöst, dass ich mir meinen eigenen kleinen dom baum baue (mit eigenen klassen). ob das jetz schneller is weiß ich auch nich *g
Genau sowas habe ich mir auch überlegt :)

bei 5 seiten ists aber wahrscheinlich egal (wenn du das nur einmal im programm machst)
Das befürchte ich auch.

Ich bin nicht sicher ob sich dann der ganze Mehraufwand lohnt, SAX anstatt DOM zu verwenden, wenn die Performanceunterschiede bei Dokumenten bis ca. 5 Seiten marginal sind. Denn das parsen eines kompletten Dokuments und das erstellen eines Objekt-Baumes ist mit DOM wesentlich leichter realisierbar, als mit SAX.
 

Bleiglanz

Gesperrter Benutzer
noch leichter ist das ganze mit JAXB oder Castor XML

wenn du eine DTD oder ein Schema hast (ist meistens schnell hingeschrieben), dann generieren dir diese Tools die Klassen und kümmern sich um das konvertieren in XML (unter der haube wird natürlich mit SAX geparst...)
 
R

Roar

Gast
foobar hat gesagt.:
ich habs bei mir so gelöst, dass ich mir meinen eigenen kleinen dom baum baue (mit eigenen klassen). ob das jetz schneller is weiß ich auch nich *g
Genau sowas habe ich mir auch überlegt :)

ja, aber die klassen stellen auch nur Elemente, Dokumente, Attribute etc. dar, also nix um die daten zu verarbeiten...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Sax Parser Performance XML & JSON 2
M Performance beim Binding XML & JSON 2

Ähnliche Java Themen


Oben