![]() |
AW: Indizierung von Dateien
Denke Speicher ist kein Problem, eher die Zahl der Dateien (40.000 Stk). Wäre das ganze eine Datei mit der gleichen Datenmenge, wären es auch ohne prefetch/cache immer fix erledigt.
Denke selbst mit Verteilung auf Threads wird Windows & AntiVirus beim ersten Zugriff auf eine Datei immer ausbremsen. Die Quellen gleich von Anfang an anders zu speichern (z.B. in Datenbank) ist keine Option? |
AW: Indizierung von Dateien
Zitat:
Was ist mit XMLSource.LoadFromFile(FilePath) und XMLSource.Clear... |
AW: Indizierung von Dateien
Zitat:
Zum Arbeitsspeicher..naja so 5000-6000 k, also ganz normal... Ich dachte eigentlich Anfangs das eine DB Anwendung überdimensioniert wäre. Naja das Programm ist fertig und ich bin nicht so begeistert von der Idee umzurüsten :) |
AW: Indizierung von Dateien
Zitat:
Aber denke alleine die Tatsache, dass der zweite Zugriff nur noch <= 1 Sekunde dauert, lässt kaum Hoffnung, dass durch Code-Optimierung viel zu machen ist. Sein Problem sind ja die 10+ Minuten beim ersten Zugriff. Zitat:
Wenn alles XML ist, evtl. eine einzelne Datei mit je einer Zeile pro XML-Datei (XML braucht ja kein CRLF, Zeile: Dateiname?XML-Code). Aber wenn das gelesen wird, kommt sicher gleich der Aufschrei, dass genau so eine Idee förmlich nach einer DB bettelt. |
AW: Indizierung von Dateien
Gibt es denn ne Möglichkeit den aktuellen Windows Cache zu speichern und bei jedem Neustart wiederherzustellen ;)
|
AW: Indizierung von Dateien
Das seh ich erst jetzt: :wall:
40.000 Dateien von Festplatte lesen... Hier sah das für mich noch ganz anders aus: Zitat:
|
AW: Indizierung von Dateien
Die Daten sind in den XML Files und werden jedesmal eingelesen. Im Memo stehen nur die Dateinamen (Ohne Endung) ... ;)
|
AW: Indizierung von Dateien
Zitat:
|
AW: Indizierung von Dateien
Ach ich nehm die 10min erstmal so hin... Mir bleibt ja auch nichts anderes überig wenn ich nicht umbauen will :)
|
AW: Indizierung von Dateien
Damit wirst du leben müssen. 40.000 Dateien sind schon ziemlich viel und wenn sie alle nicht sehr groß sind, wird die Festplatte erst mal ordentlich beschäftigt sein, sie alle zusammen zu suchen und zu lesen. Da hilft nur eine gut defragmentierte Festplatte, damit der Lesekopf nicht ständig hin und her springen muss. Aber zu viel würde ich mir davon nicht versprechen. Der Festplattenzugriff ist nun mal der Flaschenhals.
Wenn du die Möglichkeit hast, kannst du die Dateien ja mal auf einen Rechner mit einer SSD Platte (Also diese Festplatten ohne Scheiben, aber mit Flashspeicher.) kopieren und dann noch mal dein Programm drüberlaufen lassen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz