Frage

Unter UNIX kann ich zum Beispiel sagen, das Betriebssystem, das die Abbildung wird in Zukunft mit posix_fadvise(POSIX_FADV_WILLNEED) benötigt werden. Es wird dann die Daten lesen grünes Licht, wenn es fühlt sich so.

Wie der Zugang zu sagen beabsichtigt Windows?

War es hilfreich?

Lösung

Tatsächlich, wie Anders meist vorgeschlagen, gibt es keine solche Verfahren in den Speicherverwaltungsfunktionen in Windows 7 und früher .

2 verschiedene Möglichkeiten gibt es ähnlich, etwas zu tun:

  • Lesen Sie die Daten asynchron mit ReadFileEx . Die Daten könnten dann noch in dem Datei-Cache sein, wenn später benötigt werden.
  • Öffnen Sie die Datei mit einem Streaming-Hinweis mit dem FILE_FLAG_SEQUENTIAL_SCAN Attribut von Create . Readahead würde dann vielleicht automatisch erfolgen.

Andere Tipps

Beginnend mit Windows 8 gibt es die PrefetchVirtualMemory Funktion für diesen Zweck.

Sie können FILE_FLAG_RANDOM_ACCESS oder FILE_FLAG_SEQUENTIAL_SCAN zu Createfile () übergeben

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top