AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Schnelle XML Lib für große Dateien gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Schnelle XML Lib für große Dateien gesucht

Ein Thema von Mithrandir · begonnen am 14. Apr 2009 · letzter Beitrag vom 9. Okt 2009
Antwort Antwort
Seite 5 von 6   « Erste     345 6      
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
309 Beiträge
 
Delphi 12 Athens
 
#41

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 7. Okt 2009, 17:06
Zitat von Daniel:
Falls Du auf Unicode verzichten kannst, kann ich Dir diese Komponente empfehlen:
http://www.destructor.de/xmlparser/index.htm
Ist ein SAX-Parser und ziemlich flott obendrein.
Hallo Daniel,

habe mir Deine Empfehlung mal angeschaut und programmiertechnisch entspricht es genau den Anforderungen.
Ein Problem stellt jedoch bei großen Dateien (ca. 1GB) das komplette Laden des XML Files in den Speicher dar.
Gibt es da noch andere Komponenten oder eine Lösung für diese Komponente?

Danke+Gruß,
Christoph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#42

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 7. Okt 2009, 17:13
Ein SAX-Parser sollte die Datei aber nicht komplett in den RAM laden ,
weswegen ja dort die Dateigröße egal wäre.


Mein kleiner SAX-Parser ist in der aktuellen Version nicht lauffähig (hab da noch nicht alles umgestellt), aber der grundlegende Parser (ohne jeglichen Komfort) würde noch gehn, oder halt der alte Parser, welcher aber 'ne winzigkleine Macke in der Indizierung hat (er läuft, zählt aber nicht so, wie ich es will)
hab das Delphi 7 grad gesehn
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
309 Beiträge
 
Delphi 12 Athens
 
#43

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 7. Okt 2009, 17:50
Zitat von himitsu:
Ein SAX-Parser sollte die Datei aber nicht komplett in den RAM laden :gruebel: ,
weswegen ja dort die Dateigröße egal wäre.
Wie Daniel schrieb: es soll ein SAX Parser sein, lädt jedoch komplett das Files ins RAM.

Gruß,
Christoph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#44

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 7. Okt 2009, 18:08
OK, dann ist das aber kein SAX-Parser in diesem Sinne ... außer daß er vielleicht von einem Speicherblock aus parst

[add]
hab grad mal dort reingesehn ...

Man kann es vergessen diesen als "speichersparenden" SAX-Parser einzusetzen, da man erstmal das komplette Speichermanagement umstellen müßte.

Es wird in LoadFromFile alles in den RAM geladen und erst dann geparst ... also als 700 MB bis 1 GB ist da definitiv Schluß.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#45

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 9. Okt 2009, 12:43
Also ich nutze schon sehr lange SAXforPascal und bin sehr zufrieden. Hab letztens erst die aktuellste LIBExpat eingebunden.

Hau mal einen Link auf so ne XML-Datei hier rein. Dann scanne ich das Teil spasseshalber mal durch.

Sven
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#46

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 9. Okt 2009, 14:37
http://download.geofabrik.de/osm/europe/

Belgien hab ich da und es ist entpackt 223 MB klein
als .bz2 gepackt ist die OSM auf'm Server nur 28 MB

die alps.osm.bz2 ist da schon 395 MB
und das dürfte entpackt doch 'ne stattliche Datei werden (vielleicht 2,5-3 GB)

[info] die .OSM sind im XML-Format

[add]
coooool, aus 4.5 GB .bz2 bekommt man doch bestimmt 'ne knuffige .osm von mindestens 30 GB
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#47

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 9. Okt 2009, 14:41
Um den Parser mal richtig bluten zu lassen ( ), würde sich auch Nord-Amerika sehr gut eignen (Vorsicht, der Download ist 4,5 GB groß, entpackt dürfte es nochmal deutlich größer sein. )
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#48

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 9. Okt 2009, 14:59
ALso nur das Scannen von Belgien hat auf meiner lahmen Möhre von 2004 30 Sekunden gedauert. Ich nutze allerdings die UTF-16-Variante von LIBExpat. Die Datei ist ja nur UTF-8. Wenn man da Ansi-Variante nimmt, bringts vielleicht auch nochwas.

Alps läd noch (nebenbei)

Bei Interesse....
Sven
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#49

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 9. Okt 2009, 15:07
Belgien läd bei mir und meinem DOM-Parser in 27 Sekunden,
also wird der dahinterliegende SAX-Parser etwas flotter sein
(Demo_Tree2.exe)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#50

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 9. Okt 2009, 15:51
So, hab jetzt extra die Ansi-Version rausgekramt

Aus Delphi heraus mit Debugger

Belgien 323 MB 22 Sekunden

Alps 5,15 GB 5 Minuten 40 Sekunden

Athlon XP 3200+ 2.20 Ghz von 2004
Speicherverbrauch vernachläßigbar - Exe hang bei 3.1 MB - Ist ja auch SAX
Sven Harazim
--
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 6   « Erste     345 6      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz