AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi 800 XML-Dateien durchsuchen / Suche langsam beim 1. Mal

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

Ein Thema von gullatrulla · begonnen am 14. Jul 2009 · letzter Beitrag vom 17. Jul 2009
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#11

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

  Alt 17. Jul 2009, 01:48
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
fork me on Github
  Mit Zitat antworten Zitat
DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#12

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

  Alt 17. Jul 2009, 09:29
Hallo

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


mfg

DerDan
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.658 Beiträge
 
Delphi 7 Personal
 
#13

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

  Alt 17. Jul 2009, 14:36
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
  Mit Zitat antworten Zitat
17. Jul 2009, 16:23
Dieses Thema wurde von "mkinzler" von "XML" nach "Sonstige Fragen zu Delphi" verschoben.
Kein spezifisches XML Problem, eher allgemeiner Natur
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf