如何确定数据是从磁盘还是从缓存中检索的
How to determine whether data has been retrieved from disk or from caches?
我用C/C++编写了一个程序,需要从磁盘中获取数据。一段时间后,操作系统会将一些数据存储在缓存中。有没有什么方法可以让我在C/C++程序中弄清楚数据是从缓存中检索的还是从磁盘中检索的?
一个简单的解决方案是对读取操作计时。磁盘读取速度明显较慢。您可以读取一组文件块(4K)两次以获得估计值。问题是,如果你再次运行程序或在shell中复制文件,操作系统会缓存它。
相关文章:
- 使用VerQueryValue检索应用程序的文件描述
- cmake更新缓存的变量
- 试图对缓存进行跨步测试,但程序并没有结束
- 是否可以从格式字符串中检索"width"
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 缓存std::数组的选定元素,并在c++中自动保持其一致性
- 通过ccmake在cmake中缓存依赖选项
- 如何在QByteArray中放置和检索位字段而不会感到痛苦?
- 如何在Qt中从数据库中检索二进制数据?
- 如何从C++代码中检索 QML 的文本字段中的文本?
- 从 opencv c++ 中的矢量中检索固定的帧数
- 使用宏扩展的泛型:为什么指令缓存使用不当?
- 如何在不等待检索的情况下获取C++中的内存位置?
- 如何在 QTreeWidget 中检索特定项目的 mimeData?
- 如何使缓存线程安全
- C++从字符串中检索几行
- 存储指令是否会阻止缓存未命中的后续指令?
- 缓存局部性与函数调用
- 高速缓存行检索和在大型数据结构上的性能
- 如何确定数据是从磁盘还是从缓存中检索的