linq to XML-Leistung

7

Ich habe gehört, dass LINQ to XML einige Leistungsprobleme hat und einige meiner Freunde empfahlen mir, es nicht in meiner App zu verwenden. Ich konnte auf MSDN nichts Relevantes finden und ich möchte mich nicht auf "irgendeinen Internetblog" verlassen. Kennt jemand einen offiziellen Standpunkt zu diesem Thema oder eine vertrauenswürdige Quelle?

    
Cyan 06.02.2011, 03:11
quelle

3 Antworten

12

Mit LINQ to XML wird die gesamte Datei in den Speicher gelesen.

Wenn Sie eine riesige XML-Datei (Hunderte von Megabyte) lesen, ist das ein Problem.
Stattdessen können Sie einen unformatierten XmlReader verwenden, der nur eine Vorwärtsansicht einer XML-Datei bereitstellt und nicht die gesamte Datei gleichzeitig liest.

Wenn Sie mit XML-Dateien normaler Größe arbeiten, ist LINQ to XML in Ordnung.

LINQ to XML ist mehrere Größenordnungen einfacher zu verwenden als XmlReader.
Sie sollten XmlReader nur verwenden, wenn Sie wissen, dass Sie mit XML-Dateien mit 200 MB arbeiten, oder wenn Sie Ihre Leistung gemessen und bewiesen haben, dass der XDocument -Konstruktor zu langsam ist.

    
SLaks 06.02.2011, 03:34
quelle
4

Einfach google linq vs xmlreader du wirst es haben.

Das beste Ergebnis, Ссылка , führt zu der Schlussfolgerung, dass es langsamer ist als mit xmlreader (natürlich , da linq2Xml auf xmlreader basiert), aber IMHO ist es weit besser als akzeptabel, wie Sie die Flexibilität gewinnen und einfacher zu lesen / zu programmieren.

    
xandy 06.02.2011 03:15
quelle

Tags und Links