SimpleXML vs DOMDocument-Leistung
Baue ich einen RSS-parser mit der SimpleXML-Klasse und ich Frage mich, ob die Verwendung der DOMDocument-Klasse verbessern die Geschwindigkeit des parsers. Ich bin Parsen eines rss-Dokuments, die mindestens 1000 Zeilen und ich nutzen fast alle Daten aus diesen 1000 Zeilen. Ich bin auf der Suche nach der Methode, die die am wenigsten Zeit in Anspruch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
SimpleXML
undDOMDocument
beide den gleichen parser (libxml2
), so dass die Analyse Unterschied zwischen Ihnen vernachlässigbar ist.Dies ist leicht zu überprüfen:
Auf meinem Rechner bekomme ich im Grunde keinen Unterschied:
Das eigentliche Thema hier ist, welche algorithmen Sie verwenden und was Sie mit den Daten macht. 1000 Zeilen ist nicht ein großes XML-Dokument. Die Verlangsamung ist nicht in der Speicherverbrauch oder die parsing-Geschwindigkeit, aber in Ihrer Anwendung Logik.
Gut, ich traf einen ENORMEN performance-Unterschied zwischen
DomDocument
undSimpleXML
. Ich habe ~ 15 MB große XML-Datei mit ca 50 000 Elemente wie folgt:Brauche ich nur zu "Lesen", die diese Werte und speichern Sie Sie in PHP-array. Zuerst habe ich versucht
DomDocument
...Dass script starb nach 60 Sekunden mit maximum execution time exceeded Fehler. Nur 15 000 Artikel von 50k wurden analysiert.
Also schrieb ich den code
SimpleXML
version:Nach 1 Sekunde alles erledigt war.
Ich weiß nicht, wie diese Funktionen sind intern in PHP implementiert, aber in meiner Anwendung (und mit meiner XML-Struktur) es gibt wirklich, WIRKLICH GROßEN performance-Unterschied zwischen
DomDocument
undSimpleXML
.