代码之家  ›  专栏  ›  技术社区  ›  dicroce

如何确定Win32上的最佳磁盘IO块大小?

  •  2
  • dicroce  · 技术社区  · 14 年前

    在POSIX系统中,stat结构的st_blksize成员包含给定文件的IO最佳块大小。看起来stat(_stat&_stat64)的win32实现不支持此字段。确定给定文件或文件系统的最佳IO块大小的Win32等效方法是什么?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Jack Lloyd    14 年前

    我不确定这是否总是返回最佳数字,但Win32调用 GetDiskFreeSpace 回报,尤其是, lpBytesPerSector lpSectorsPerCluster ;将这些值相乘,得到每个集群的字节数,这可能是用作缓冲区大小的合理值。

    这个调用不适用于文件,而适用于文件系统,因此在使用文件之前,您必须先了解文件的根目录。