我正在使用Windows API处理文件。我的表现非常好。我以块的形式阅读文件,但我不知道它的最佳大小。我知道它应该是磁盘簇大小的倍数。
磁盘是否有缓存?如果我使用大于缓存的块,我的性能最差?我是对的吗?
谢谢!
答案 0 :(得分:1)
是的,Windows在处理文件时提供缓存层。见official MS documentation。我不确定确切的缓存大小和可能的权衡,缓存大小很可能取决于系统的可用内存大小和其他因素。
提高性能的另一个好方法是使用异步I / O API。编写和维护起来比较困难,但会提高性能。请参阅official example。