Windows에서 Fadvise/Madvise에 해당하는 것은 무엇입니까?
-
05-07-2019 - |
문제
예를 들어 UNIX에서는 OS에 미래에 매핑이 필요하다고 말할 수 있습니다. posix_fadvise(POSIX_FADV_WILLNEED)
. 그런 다음 느끼면 데이터를 읽습니다.
액세스가 Windows에 대한 의도를 알려주는 방법은 무엇입니까?
해결책
실제로 Anders가 주로 제안한 것처럼 Windows 7 이상에서 사용 가능한 메모리 관리 기능에는 그러한 방법이 없습니다..
비슷한 일을하기 위해 2 가지 다른 방법이 있습니다.
- 데이터를 비동기로 읽으십시오 readfileex. 그런 다음 나중에 필요할 때 데이터가 파일 캐시에있을 수 있습니다.
- 스트리밍 힌트로 파일을 엽니 다
FILE_FLAG_SEQUENTIAL_SCAN
속성 CreateFile. 그런 다음 Readahead는 아마도 자동으로 완료 될 것입니다.
다른 팁
Windows 8부터 시작하여 PrefetchVirtualMemory
이 목적을위한 기능.
당신은 통과 할 수 있습니다 FILE_FLAG_RANDOM_ACCESS
또는 FILE_FLAG_SEQUENTIAL_SCAN
CreateFile ()
제휴하지 않습니다 StackOverflow