Hello,
ich habe hier veraschiedene Threads zu Spezialfragen des gesamtem Problems gehabt die letzten Tage, und im Dialog mit den kritischen Könnern auch so einiges richten können.
Allerdings hab ich noch ein Problem...
Durch das erstellte Tool werden in der Produktion später bis zu 10.000 Files gegeneinander abgeglichen, ob sie denselben Inhalt haben und ihre im Fileheader befindlichen Metadaten abgestimmt.
Nun haben wir aus Systemgründen die Files auf diversen WinDOSen liegen, die Applikation mit der Datenbank, in der dann die Kernergebnisse zusammengefasst werden, liegt aber auf einem Linuxhost. Die Verzeichnisse der WinDOSen werden per mount-Befehl einbezogen.
Da das Prüfprogramm den Inhalt des Files beliebig oft benötigt über Namen (sonst muss ich alle einbezogenene Klassen umschreiben) , also beliebig viele Connections pro Durchgang zum File aufbaut, habe ich dazu entschlossen, die Files vorher als TMP-File in das lokale Dateisytem zu ziehen.
Das hat auf meinem WinDOSen-Testrechner im Moment auch einen positiven Effekt bis zu einer bislang unbestimmten Anzahl zu prüfender Files. danach wird das System langsamer als vorher.
Ich gebe da dem verwendeten Filesystem (FAT32) die Schuld, da die gelöschten TMP-Files (zumindest deren namen) sich ja in Wirklichkeit noch in der Chain of Files befinden und es im Directory immer mehr werden. Den passenen File zu finden (wenn schon 10.000 in der Kette stehen) wird also immer schwieriger.
Bei den (Win)DOSen hilt da nur ein "Verzeichnis umkopieren" oder ein Defrag.
Langer Rede kurze Frage:
Wie sieht das bei Linux-Filesystemen wie z.B. ext2 oder
reiserFS aus?
Werden die durch Anlegen und wieder Löschen von Files auch immer langsamer?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau