5

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

我的策略是

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

  • 重复此操作,直到读取整个文件。

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

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

结果: 在此处输入图像描述

正如您在结果中看到的,当块大小较小且睡眠时间足够长以进行预读时,读取时间很短。chunk size 越大或 sleep time 越短,读取时间越接近 20 秒左右。

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

4

0 回答 0