Zitat von
Daniel G:
Allerdings bekomme ich bei der großen 4 GB Datei den E/A-Fehler 998.
Zitat von
Daniel G:
Ich habe mal geguckt, er hängt bei dieser Funktion
deswegen solltest du bei nahezu allen
XML-Parsern probleme bekommen, da sie oftmals erstmal die gesamte Datei in den
RAM laden und darun dann parsen.
Gut, mein Parser läuft nur stückchenweise und läd größere Dateien möglichst nur in 64 KB-Stückchen, aber dennoch landet der
XML-Tree danach im
RAM, wie bei vielen anderen Parsern.
Bei mir würde da allerdings eine 1 GB-Datei nur maximal + 64 KB (für's Laden) ~1 GB (die Daten) + ein paar Byte je für je 2 Objekte pro Node belegen, wärend es bei anderen dann 1 GB (für's Laden) + ~1 GB (die Daten) + die Verwaltung ... ja und dann kommt noch die fragmentierung des Speichermanagers dazu ....... also bei über weit 1 GB bekommst du so oder so arbe Probleme diese in ein 32-Bit-Delphi-Programm reinzubekommen, wo nur ~2 GB zur Verfügung stehen.
Wenn mein aktuelles
XML-Projekt mal steht, ist zwar noch ein weiterter Parser geplant, welcher dann mit größeren Dateien klar kommen sollte, aber von schnell kann dann nicht mehr die Rede sein, da dieser dann einen Großteil der Daten direkt auf der "langsamen" Festplatte lagert, bzw, liegen läßt.