NicTheQuick hat geschrieben:In meinem Thumbnail-Verzeichnis kriege ich so nach 50 ms das Ergebnis 10544 Dateien.

10.544 Verzeichniseinträge in 50ms ... davon kann man unter Windows leider nur träumen.
Einer der großen Vorteile der meisten Linux-Dataisysteme ist nun mal die Art, wie dort die Verzeichnisstrukturen abgelegt sind.
Bei den meisten Linux-Dateisystemen liegen (zumindest meines Wissens nach) die Verzeichniseinträge seriell hintereinander.
Somit kann man die Dateiliste eines Verzeichnisses auf einen Rutsch einlesen.
Unter NTFS sieht das leider ganz anders aus. Hier hast Du so eine Art Linked-List, in der ein Eintrag auf den nächsten verweist und dieser wiederum auf den nächsten, wobei die einzelnen Einträge weit voneinander entfernt liegen können.
Bei NTFS musst Du also jeden Eintrag einzeln lesen und der Schreib-/Lesekopf der Festplatte im schlimmsten Fall für jeden Eintrag neu positioniert werden.
Somit wird man es also selbst bei einem lokalen NTFS-Datenträger wohl niemals schaffen 10.000 Verzeichniseinträge in 50ms auszulesen.
Bei einem Netzlaufwerk (um das es MK_2007 ja ging) kommen dann noch die Netzwerk-Latenzen für jede neue Anfrage hinzu.
Ich werde gleich aber mal zu Testzwecken auf zwei unserer Netzlaufwerke ~10.000 Dateien anlegen und schauen wie schnell ein "Dir /w" im Vergleich zur geposteten "CountFiles()" Routine ist.
Zum einen werde ich das mal auf einem RAID10-Verbund aus "normalen" Server-Platten und zum Anderen auf SSDs testen. Bin mal gespannt, ob man hier einen Unterschied feststellen kann, oder ob der Vorteil der SSD durch die Netzwerklatenzen komplett geschluckt wird.