2014-08-29 142 views
0

我想知道是否有辦法禁用C++代碼的文件緩存。我正在從磁盤讀取,寫入和修改某些文件格式的某些測試,並且時間測試最可能由於緩存而偏斜。我想知道是否有任何快速方法可以使用任何編譯器指令或特定於操作系統的命令關閉緩存?禁用C++代碼的文件緩存

我的測試目前使用gmake在linux,mac和windows上構建。任何建議/意見,歡迎。

謝謝。

回答

1

在符合POSIX的操作系統上,fsync可能是您要查找的內容。在讀取文件之前和修改之後調用它。這可能會讓你的程序變慢很多。

+0

感謝您的回答。有沒有一個獨立於平臺的方式來做到這一點,或者是一個特定於Windows的方法? – SkypeMeSM 2014-09-02 20:17:07

+0

我覺得windows api有相當的可能性。我不知道一個跨平臺的包裝器,但是一旦你找出適當的功能,自己寫一個不應該太困難。 – user2079303 2014-09-02 20:46:14