Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   XML Parser + Performance Probleme (https://www.delphipraxis.net/50501-xml-parser-performance-probleme.html)

skyware 26. Jul 2005 19:52


XML Parser + Performance Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen!

Ich benutze in meinem Projekt einen XML Parser, der jedoch von
der Geschwindigkeit her zu wünschen übrig lässt.
Diesen möcht ich nun optimieren, leider finde ich keine weiteren
Tuningmögichkeiten mehr :wall:

Kurz zur Erklärung:

Als Anhang findet ihr das Demo Projekt.
Wenn auf den Button geklickt wird, wird die "Structure.xml" Datei
geladen und auch wieder gespeichert.
Der ganze Lade- und Speicher Mechanismus läuft in den Units
"HTParser.pas" und "HTParser_List.pas" ab.
Getunt werden sollen also die beiden Aufrufe

Delphi-Quellcode:
xParser.LoadXML(xXMLList.Text, xObjectList);
xParser.SaveXML(xObjectList);
Evtl. sieht jemand auf den ersten (zweiten, dritten, vierten...) Blick
was man noch optimieren könnte? :drunken:

Vielen Dank im voraus,

Gruss aus der Schweiz,
Markus

ken_jones 26. Jul 2005 20:14

Re: XML Parser + Performance Probleme
 
Mal ein ganz anderer Ansatz:

Der zur Zeit (mir bekannte) schnellste XML Parser gibts als OpenSource hier: Destructors XML Parser

Ich verwende das Teil und ich parse dir auf meiner Kiste 800MB grosse XML Files in Sekunden.

PS: Greets aus Luzern ;)

skyware 27. Jul 2005 04:53

Re: XML Parser + Performance Probleme
 
Hallo Luzerner,

danke für den Link des anderen Parsers.
Jedoch möchte ich schon meinen weiterverwender, da der bereits
spezielle Aufbau Mechanismen unterstützt, und sowohl unter Win32
als auch .NET funktioniert.
Aber wenn sich jedoch keine Tuningmöglichkeiten mehr finden lassen
muss ichs wohl fast in Erwägung ziehen den Parser komplett
auszuwechseln *seufts*

Danke vielmals,
Gruess und en schöne Tag an Landesgenosse :hello:

alcaeus 27. Jul 2005 05:11

Re: XML Parser + Performance Probleme
 
Hallo skyware,

ohne mir den Code angesehn zu haben, hab ich eine Frage: wie parst du die Datei? Ueber Pos() bzw. PosEx()? Eventuell ist dir da mit Regular Expressions geholfen. Ein Beispiel siehst du z.B. hier: Regular Expressions in Delphi.
Mehr Infos zu den RegExps gibts u.a. bei Wikipedia.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 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