Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows-Internen File-Cache löschen (https://www.delphipraxis.net/57221-windows-internen-file-cache-loeschen.html)

Bernhard Geyer 17. Nov 2005 13:06


Windows-Internen File-Cache löschen
 
Windows cached ja Dateizugriffe so das bei mehrmaligen Zugriff auf Dateien diese nicht mehrmals physikalisch vom Datenträger gelesen werden müssen.
Ich will nun für Performance-Tests diesen Cache komplett löschen, so das meine Ergebnisse nicht durch diesen Cache beeinflußt werden. Es ist für mich wichtig die Performance zu bekommen wenn noch keinerlei eigenen Anwendungsdaten geladen sind. Es würde reichen wenn diese Funktion nur für NTFS-Systeme funktionieren würde.

mumu 17. Nov 2005 13:10

Re: Windows-Internen File-Cache löschen
 
naja soweit ich weiß macht das windows ja auch nur bei ntfs partitionenen, da fat32 gar nicht die struktur dazu bietet.

abschalten kannst du es so:
arbeitsplatz, rechte maustaste aufs laufwerk, dann eigenschaften auswählen und den haken bei
laufwerk für schnelle dateisuche indizieren wegmachen

Bernhard Geyer 17. Nov 2005 14:31

Re: Windows-Internen File-Cache löschen
 
Ich will diese Lösung Programmiertechnisch realisieren.

mumu 17. Nov 2005 14:35

Re: Windows-Internen File-Cache löschen
 
selbe frage hatte ich schonmal gestellt
Laufwerk für schnelle Dateisuche indizieren

Olli 22. Nov 2005 12:19

Re: Windows-Internen File-Cache löschen
 
Ähem, sorry mumu, aber indizieren von Laufwerken und cachen sind zweierlei. Die haben genaugenommen nichts miteinander zu tun.

@Bernhard:
Wenn es überhaupt geht, dann vermutlich nur über eine der Native APIs (CcFlushCache, oder dateiweise mit ZwFlushBuffersFile). Allerdings befürchte ich, daß es - so wie du es willst - wohl garnicht gehen wird. Warum nutzt du nicht gleich die Möglichkeit das Volume komplett zu öffnen und dort Rohdaten zu lesen und zu schreiben? Damit umgehst du ja einen möglichen Dateisystemtreiber und ergo auch den Cache-Manager (Cc).

Vjay 22. Nov 2005 13:21

Re: Windows-Internen File-Cache löschen
 
Was hast du denn genau vor?
Bei createFile konnte man, wenn ich mich richtig erinnere, als Flag angeben, dass die Datei nicht gecached werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz