3

Windows 7 的任务管理器在性能选项卡中列出了用作缓存的物理内存的兆字节数。

我想在基于磁盘的数据(700 MB 文件)不能存储在主内存中的假设下测量我的程序的性能。实际上我有很多内存。我可以以某种方式强制从磁盘读取文件吗?

我已经尝试在寄存器中禁用 EnablePrefetcher 和 EnableSuperfetcher,但没有任何改变。一个有效的技巧是分配所有可用的内存。FILE_FLAG_NO_BUFFERING 和 FILE_FLAG_OVERLAPPED 的组合会提供所需的结果吗?还有其他想法吗?

顺便说一句:我认为文件是从缓存中读取的,因为我第一次启动应用程序时,它的运行速度比后续运行慢得多。如果我分配所有可用内存,下一次运行又会变慢。此外,我在第一次运行应用程序时看到任务管理器中的缓存快速增长。

题外话:
具有讽刺意味的是,我们正在实现一个假设您不能将文件存储在主存中的算法。但是,我们不能不它存储在主存储器中...... :)

4

0 回答 0