c++ - 如何确定数据是从磁盘还是从缓存中检索出来的?

标签 c++ c

我用 C/C++ 编写了一个程序,需要从磁盘中获取数据。一段时间后,操作系统碰巧将一些数据存储在其缓存中。有什么方法可以让我在 C/C++ 程序中确定数据是从缓存中检索到的还是从磁盘中检索到的?

最佳答案

一个简单的解决方案是为读取操作计时。磁盘读取速度明显变慢。您可以读取一组文件 block (4K) 两次以获得估算值。 问题是,如果您再次运行该程序或将文件复制到 shell 中,操作系统将缓存它。

关于c++ - 如何确定数据是从磁盘还是从缓存中检索出来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181497/

相关文章:

c++ - 智能指针 : who owns the object?

c - 用C读取文本文件

c - 指针地址符合标准的转换

c++ - fprintf、字符串和 vector

c++ - 如何授予函数模板好友访问类的权限?

c++ - 在模板类中使用 std::allocator 时出错

c++ - boost 图像上的 grid_graph 和图形切割

c++ - POD 对包含标准库容器的结构的影响

c - 将变量从终端传递到 makefile

c++ - 如何通过 C++ 中的按地址传递将 scanf 字符串传递给全局字符数组?