thể trùng lặp:
How to invalidate the file system cache?Làm cách nào để buộc Windows xóa tất cả dữ liệu bộ nhớ cache trên đĩa?
Tôi đang viết một đĩa chương trình win32 chuyên sâu. Lần đầu tiên nó chạy, nó chạy chậm hơn rất nhiều trong khi nó quét các thư mục của người dùng bằng cách sử dụng FindFirstFile()/FindNextFile().
Làm cách nào tôi có thể lặp lại hiệu suất lần đầu tiên này mà không cần khởi động lại? Có cách nào để buộc hệ thống loại bỏ mọi thứ trong bộ đệm đĩa của nó không?
Tôi biết rằng nếu tôi đang đọc một tệp, tôi có thể tắt bộ nhớ đệm bằng cách chuyển cờ FILE_FLAG_NO_BUFFERING cho cuộc gọi đến CreateFile(). Nhưng có vẻ như không thể thực hiện điều này khi tìm kiếm tệp.
+1 Tôi đã tự mình đăng bài một bài đăng có liên quan. Khi cố gắng để làm việc ra hiệu suất của các thuật toán liên quan đến đĩa, bộ nhớ đệm thực sự bị cản trở. Câu hỏi hay. –