![]() |
XE4: TXMLDocument.LoadFromFile lädt die komplette Datei?
Hallo#,
aus der Hilfe ist das leider nicht ersichtlich. Lädt denn LoadFromFile die komplette Datei in den Speicher oder lädt bei Bedarf nach. Ich weiss zumindestens, dass intern MSXHL und deshalb auch Interafaces verwendet werden. Ich habe mal eine Performance-Test NativeXml vs. TXMLDocument. Bei einer 20 MB grossen Datei brauchte TXMLDocument nur 1/4 der Zeit. Kann das sein? Danke Heiko |
AW: XE4: TXMLDocument.LoadFromFile lädt die komplette Datei?
Fast alle XML-DOM-Parser laden das komplet in den RAM.
> Stream in den RAM laden > nach Unicode umcodieren > in einen DOM-Baum aufsplitten (viele Objekte je Knoten und Eigenschaft) Willst du sequentiell laden, ohne daß alles im RAM landet, dann nimm einen SAX-Parser. Joar, je größer die XML um so langsamer wird das MS-XML-DOM und um so mehr RAM verschwendet es. Je nach Dateigröße sind viele der verfügbaren XML-DOMs unterschiedlich schnell, bieten unterschiedlich viele Features und verbrauchen unterschiedlich viel RAM. (ab 200 MB wird es mit dem MS-XML-DOM etwas schwerer, in einem 32-Bit-Programm) Und nein, Interfaces/Objekte verwendet es wegen was Anderem -> Weil es ein Document Object Model (DOM) ist. |
AW: XE4: TXMLDocument.LoadFromFile lädt die komplette Datei?
Hallo,
danke für die schnelle Info. Die Dateien sind im Schnitt 50 MB gross und das MSXML ist 4mal schneller als NativeXML, dass passt. Ich hatte die Befürchtung, es würde langsamer werden. Heiko |
AW: XE4: TXMLDocument.LoadFromFile lädt die komplette Datei?
Nja, das MS-XML-DOM ist gern langsamer, als viele andere XML-Libs. :stupid:
siehe other.7z -> ![]() |
AW: XE4: TXMLDocument.LoadFromFile lädt die komplette Datei?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz