我正在使用Windows API来处理文件。 我的performance非常好。 我大块阅读文件,但我不知道它的最佳大小。 我知道它应该是磁盘的群集大小的倍数。
磁盘是否有caching? 如果我使用大于caching的块,我的性能应该最差? 我对么?
谢谢!
是的,Windows在处理文件时提供了缓存层。 见MS官方文档 。 我不清楚确切的缓存大小和可能的折衷,缓存大小取决于系统的可用内存大小以及其他因素。
另一个提高性能的好方法是使用异步I / O API。 编写和维护比较困难,但会提高性能。 看官方的例子 。