Geschwindigkeitsproblem
-
Grüsse zusammen,
Ich habe ein Programm geschrieben, welches nach bestimmten Dateien, bzw. bestimmten Datei-Endungen sucht. Ich mache das mit CFileFind. Sobald ich eine Datei gefunden habe, öffne ich die und lese die ersten 20 Chars daraus aus. Speichere die Information ab mit dem Pfad zur Datei zusammen und setze es in eine Liste.
Das funktioniert auch alles wunderbar. Ich habe nur ein seltsames Geschwindigkeitsproblem in meinem Programm. Nämlich bei ausführen des ersten Suchlaufes, braucht das Programm immer extrem lang, vor allem im Verhältnis zum zweiten Suchlauf. Wenn ich z.b. im Ordner C:\BspOrdner\ nach den Dateien suche braucht er eine halbe Minute. Wenn ich die Suche dort erneut laufen lasse, braucht er nur noch eine halbe Sekunde. Wenn ich dann im ganzen Laufwerk C: suchen lasse, dann hat er für alle anderen Dateien ausser im Ordner 'BspOrdner' wieder extrem lange. Und sobald ich dann wieder eine Suche laufen lasse im Laufwerk C: ist er ab sofort wieder schneller als die Maus von Mexiko. Und ab dann ist er immer schnell. Da kann ich das Programm beenden und wieder starten das macht keinen Unterschied. Ich kann ihn nur wieder langsamer machen, indem ich den Computer neustarte.Nun meine Frage, woher kommt das? Und wie kann ich es erreichen, dass er schon beim ersten Suchlauf so schnell ist? Bzw. ist das überhaupt möglich?
Danke für euere Hilfe.
Grüssli
-
Dravere schrieb:
Nämlich bei ausführen des ersten Suchlaufes, braucht das Programm immer extrem lang, vor allem im Verhältnis zum zweiten Suchlauf.
Das ist normal. Beim zweiten mal hat das OS-File-Cache die meisten Sektoren schon im Cache und braucht sie nicht mehr von Festplatte lesen. Schau mal drauf, die Festplatte blinkt nicht so oft, wie beim ersten Mal.
Dravere schrieb:
Wenn ich z.b. im Ordner C:\BspOrdner\ nach den Dateien suche braucht er eine halbe Minute. Wenn ich die Suche dort erneut laufen lasse, braucht er nur noch eine halbe Sekunde. Wenn ich dann im ganzen Laufwerk C: suchen lasse, dann hat er für alle anderen Dateien ausser im Ordner 'BspOrdner' wieder extrem lange. Und sobald ich dann wieder eine Suche laufen lasse im Laufwerk C: ist er ab sofort wieder schneller als die Maus von Mexiko. Und ab dann ist er immer schnell. Da kann ich das Programm beenden und wieder starten das macht keinen Unterschied. Ich kann ihn nur wieder langsamer machen, indem ich den Computer neustarte.
Siehe oben. Beruht auf gleichem Effekt...
-
Achso, also kann ich das nicht irgendwie beschleunigen? Schade. Aber danke für die Hilfe.
Grüssli