如果我需要經常從文件中讀取數據,並且使用fread將文件加載到unsigned char向量中,則隨後的fread非常快,即使unsigned char向量是閱讀後立即摧毀。Windows C++在內存中鎖定文件
在我看來,某些東西(Windows或磁盤)緩存文件,因此速度非常快。我還沒有讀過關於這種行爲的任何信息,所以我不確定這是什麼原因。
如果我不使用我的應用程序1小時左右,然後再做一次fread,fread會很慢。 在我看來,緩存已被清空。
有人可以向我解釋這種行爲嗎?我想積極使用它。 對於我來說這是一個問題,當fre are慢時。
內存映射的文件理論上工作,但文件本身太大,所以我不能使用它。
Windows有一個磁盤緩存,它工作的很好。期待Windows將您的數據保留在緩存中幾小時/天並不是那麼友好。什麼使你的數據比系統上其他任何東西的數據更重要? –
我需要快速執行freads,因此我試圖找到一種方法告訴Windows該文件對我來說很重要,我需要經常快速地訪問它。 – tmighty
只是讀它......它會被緩存。只要你繼續閱讀它,窗口應該保持它的緩存。在從緩存啓動後,您只能慢速讀取ONCE。 –