对Linux fread()的预读效果

时间:2018-12-06 08:37:01

标签: c linux fread disk-io

我对大型二进制文件的预读性能有问题。

我的策略是

  • 使用以下命令从大型二进制文件中读取固定大小的块 fread()。 (例如10MB)
  • 使用usleep()睡眠n毫秒,仅用于预读性能测量。

  • 重复该过程,直到读取整个文件。

然后,我对上述用于测量预读性能的策略进行了实验。环境是

  • CentOS 7
  • 4GB二进制文件
  • 每2MB块大小为2〜300MB
  • 我测试的睡眠时间是5、10、50、100、300毫秒,没有睡眠

结果: enter image description here

从结果中可以看到,当块大小较小且睡眠时间足够进行预读时,读取时间会很短。块大小越大或睡眠时间越短,读取时间就接近20秒左右。

然后,我想对该图进行回归分析。我应该使用什么功能?我的策略有何复杂性?

0 个答案:

没有答案