FindFirst, FindNext

Von: , Frage gestellt am Mi, 15. Mär 2006

Hallo!

Hat irgend jemand eine Ahnung wie Windows (2000 & XP) es schafft
auf einem großem Netzwerklaufwerk, nach rechte Maustaste-> Eigenschaften,
innerhalb recht kurzer Zeit die Anzahl Dateien sowie die Anzahl Byte
anzugeben.

Wenn ich das rekursiv mit FindFirst() und FindNext() mache, dann brauche
ich etwa die 4 fache Zeit. Auffällig ist, dass einzelne Verzeichnisse
mit vielen Dateien immer langsamer bei der Enumerierung werden.

Irgendwelche guten Tipps?

Danke
Stefan

2 Antworten zu dieser Frage

  1. Antwort von nach 19 Minuten 1 hilfreich
    Re: FindFirst, FindNext

    Hallo,

    also irgendeinen Vorteil muss sich ja Gate's WinzigWeich verschaffen, da koennte ja keder kommen....=)

    na ja, die nutzen zum einen die internen Cache-Mechanismen optimal aus und zum anderen Routinen die etwas tiefer auf der Systemebene ansetzten und es gibt vor allem auf dem NTFS-System "Extended Infos" im Directory-Eintrag der FAT.

    Besorge die mal Filemon.exe von sysinternals.com und protokoliere mal dein FindFirst etc. und im Gegensatz dazu die Zugriffe beim "Eigenschaften" im Exporer, dann siehst du den Unterschied.

    Tschau
    Peter [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 23 Stunden 0 hilfreich
      Re^2: FindFirst, FindNext

      Hallo Peter, also irgendeinen Vorteil muss sich ja Gate's WinzigWeich
      verschaffen, da koennte ja keder kommen....=)
      Ich will es mal so sagen, es gibt schlimmere Software. :-) na ja, die nutzen zum einen die internen Cache-Mechanismen
      optimal aus und zum anderen Routinen die etwas tiefer auf der
      Systemebene ansetzten und es gibt vor allem auf dem
      NTFS-System "Extended Infos" im Directory-Eintrag der FAT.
      Ich hatte extra Netzwerklaufwerk gesagt. In meinem Fall sind das
      4 Platten als Raid 5 mit Raiser FS. Besorge die mal Filemon.exe von sysinternals.com und
      protokoliere mal dein FindFirst etc. und im Gegensatz dazu die
      Zugriffe beim "Eigenschaften" im Exporer, dann siehst du den
      Unterschied.
      Hab ich gemacht, super Tip Danke!

      Nach dem entfernen des Virenscanners (Mac Affe) war ich schon fast an
      der Performance von Windows.
      Die letzten 50% - 100% bekomme ich auch noch. Windows verarbeitet
      immer erst das gesamte Verzeichnis und geht dann rekursiv tiefer in
      den Baum. Mein Prog hat wann immer ein Verzeichnis kam, in dieses
      verzweigt. Dies hat zur Folge, dass (in meinem Fall) bis zu 20
      Such-Handles offen sind, ich denke da liegt der Hase im Pfeffer. :-)

      Danke Dir für den Tip.

      Gruß
      Stefan

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!