Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 800 XML-Dateien durchsuchen / Suche langsam beim 1. Mal (https://www.delphipraxis.net/137116-800-xml-dateien-durchsuchen-suche-langsam-beim-1-mal.html)

sx2008 17. Jul 2009 00:48

Re: 800 XML-Dateien durchsuchen / Suche langsam beim 1. Mal
 
Zitat:

Zitat von IIIMADDINIII
... zum beispiel in einem teimer der jede 1 milis.
10 dateien einließt oder so.

Mehrere Threads (falls du das meinst) erzeugen auf der Festplatte Stress, der für den Gesamtdurchsatz eher bremsend wirkt.
Es gibt nur drei Verbesserungsmöglichkeiten:
1.) Dateneinlesen optimieren.
Optimale Leistung wird erreicht, wenn man Blöcke mit 4096 oder 8192 Bytes einliest und dazu möglichst nahe am Betriebssystem bleibt.
AssignFile, ReadLn, ... sind nicht genügend nahe am OS -> Leistungsverlust
TFileStream ist relativ nahe am OS.
Geht man ganz runter auf die Windows API lohnt das nicht, weil die Verbesserung im Promillebereich liegt.
2.) Hardware upgraden !!
3.) XML Analyse und Element-Suche optimieren

DerDan 17. Jul 2009 08:29

Re: 800 XML-Dateien durchsuchen / Suche langsam beim 1. Mal
 
Hallo

... Oder eben die Suchergebnise deiner letzten Suche speichern und die verwenden.
bzw deine Dateien indizieren.


mfg

DerDan

p80286 17. Jul 2009 13:36

Re: 800 XML-Dateien durchsuchen / Suche langsam beim 1. Mal
 
Zitat:

Zitat von sx2008
Mehrere Threads (falls du das meinst) erzeugen auf der Festplatte Stress, der für den Gesamtdurchsatz eher bremsend wirkt.
Es gibt nur drei Verbesserungsmöglichkeiten:
1.) Dateneinlesen optimieren.
Optimale Leistung wird erreicht, wenn man Blöcke mit 4096 oder 8192 Bytes einliest und dazu möglichst nahe am Betriebssystem bleibt.
AssignFile, ReadLn, ... sind nicht genügend nahe am OS -> Leistungsverlust
TFileStream ist relativ nahe am OS.
Geht man ganz runter auf die Windows API lohnt das nicht, weil die Verbesserung im Promillebereich liegt.

Das ist im Prinzip ganz richtig, aber wenn's in der dritten oder vierten Zeile steht, dann ist ein Readln mit einem Textbuf von 8192 auch nicht soooo langsam. Da ist das öffnen und schließen der Dateien eher der Flaschenhals.

Ich denke wenn "Initialisieren" dann über FindFirst/FindNext.

Gruß
K-H

DP-Maintenance 17. Jul 2009 15:23

DP-Maintenance
 
Dieses Thema wurde von "mkinzler" von "XML" nach "Sonstige Fragen zu Delphi" verschoben.
Kein spezifisches XML Problem, eher allgemeiner Natur


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:37 Uhr.
Seite 2 von 2     12   

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