wieso ist die Windows-Suche so elendiglich langsam?



  • Siehe Titel.

    Wenn ich mir ein schnuckeliges Programm schreib,
    dann dauert das Starten vom MySQL Embedded Server,
    das Speichern der Dateinamen + Pfad in der Datenbank,
    Ausgabe aller durchsuchten Pfade in der Konsole
    und Beenden des Embedded Servers
    alles in allem knapp 10 Sekunden.

    Ein Select auf diese Datenbank ist dann gar nicht mehr der Rede Wert.

    Die Windows-Suche braucht 37 Sekunden allein für's auffinden.

    Ist da die "Bill-Rulez-Schleife" dran schuld?
    (Ich war allerdings auf winXP unterwegs)



  • Oh je. Die Performance von Windows-Systemen haengt von vielen verschiedenen Faktoren ab.

    Es kann z.B. zuwenig RAM im Rechner sein, die Mainboard-Treiber sind schlecht, die Platte zu langsam, die RAM-Zugriffe der CPU zu langsam usw. usf.

    Windows laeuft uebrigens mit HyperThreading-Prozessoren viel fluessiger. Ist mir mal aufgefallen, als ich ein Board mit HT-Prozessor eingebaut habe. Ich verwende trotzdem lieber Linux auf der Kiste. 😉

    Ich hatte mal ein merkwuerdiges Problem mit Windows 2000: Eine DLL mit nur 11 KB Groesse brauchte mehrere Sekunden zum Laden. Jedesmal. Mit Hilfe des Performance Monitors bin ich dem Problem auf die Schliche gekommen: Memory Page Misses. Stell mal im Performance-Monitor die Anzeige diverser weiterer Felder ein und beobachte die.

    So vom Gefuehl her wuerde ich empfehlen, moeglichst viel RAM in die Kiste einzubauen. Window XP zieht ja schon ueber 384 MB im Leerlauf, wenn ich mich recht erinnere. Dann sollten mindestens 512 MB eingebaut sein, besser 768 MB oder 1 GB.

    Aber das ist bloss meine Meinung.



  • Sind denn bei dir die cabview und zipfldrs Shell Extensions aktiviert? Wenn ja werden auch CAB- und ZIP-Archive durchsucht.



  • Mir ist nochwas eingefallen: Ist in der Systemverwaltung der Indexdienst eingeschaltet? Wenn nicht, schalt ihn mal ein. Der schrubbt halt oefters auf der Platte rum, aber das Suchen geht dadurch viel schneller. Manchmal kann er aber auch die Systemperformance in den Keller ziehen, dann lohnt es sich, ihn abzuschalten.

    Und nochwas: Sog. Dateisystem-Filter wie z.B. Virenscanner koennen auch das System dramatisch verlangsamen. u.U. ist es dann besser, einen Virenscanner zu verwenden, der nur auf Benutzeraktion sucht bzw. die automatische Dateisystemueberwachung im Virenscanner abzuschalten.



  • ➡ Alte W2K Suche benutzen.

    Die Bayer-Baum-Datei-Systeme (ReiserFS) rulen halt. 👍

    Kannst Du mir das SQL-Programm mal schicken?! 🙂



  • Argh, jetzt ist mir noch was aufgefallen:
    So wie's ausschaut puffert Windows Anfragen von "FindFirst/NextFile()".
    Beim ersten Start von meinem Prog dauerts auch ca. so lang.
    Erst ab dem Zweiten geht dann alles ratz fatz.

    @Sgt. Nukem:
    Falls noch Interesse besteht:
    http://www.hosting-place.de/upload/filesToDb.zip

    Verwendung:

    filesToDb.exe [-pPfad]  [-e]  zuSuchendeDatei
    

    Beispiele:

    filesToDb.exe -pc:/ jpg
    

    Liest alle Verzeichnisse/Dateien auf Laufwerk c in die Datenbank ein und
    sucht dann alle Dateien, in denen "jpg" vorkommt.

    filesToDb.exe jpg
    

    Wie oben, aber es wird nur die Datenbank durchsucht, kein Laufwerk

    Der Schalter -e bedeutet "exakt".

    mit -e lautet die interene suche "select... where filename = '...';
    ohne -e: "select... where filename like '%...%'

    mfg
    Martin

    PS: getestet nur unter winXP



  • http://www.c-plusplus.net/forum/viewtopic-var-t-is-119853

    Gleiches Thema, 3 Wochen früher, man sollte echt vor dem Posten jemanden zum Suchen zwingen 😞

    BTW: Die Windowssuchen leistet bedeutend mehr, man kann das net so einfach mit nem einfach Duchen nach Dateiendungen vergleichen.



  • Naja, wie gesagt (oder auch nicht), ich habe bei mir die Suche in Archiven unterbunden, weil das immer den größten Teil der Suchzeit in Anspruch genommen hat. Indexdienst und Volltextsuche habe ich noch nie benutzt.



  • Talla schrieb:

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-119853

    Gleiches Thema, 3 Wochen früher, man sollte echt vor dem Posten jemanden zum Suchen zwingen 😞

    BTW: Die Windowssuchen leistet bedeutend mehr, man kann das net so einfach mit nem einfach Duchen nach Dateiendungen vergleichen.

    Autsch,
    das hat gesessen.
    Ich stell mich jetzt ins Eck und schäm mich eine Runde.

    Sorry für den Doppelpost


Anmelden zum Antworten