【发布时间】:2012-07-16 14:32:45
【问题描述】:
是否有开源项目或最佳实践指南显示了在本地机器、lan、san 和 wan 周围复制文件的最快方法,其速度可以与 windows7(或 8)的内置 xcopy 相媲美) 或 Windows 资源管理器副本?
说白了,并不是所有的文件 IO 都是一样的。在某些协议和技术中有不同的开销。一些库没有利用异步操作或利用硬件的线速。
我正在盘点我们使用的大量数据传输,并尝试评估我们的客户端应用程序和外部供应商的应用程序的有效性。某些服务器应用程序是最严重的违规者(基于 java 的应用程序是最糟糕的)。
我将这项研究的范围限制在 SMB 2 和 3(windows7 和 8 上的 cifs)。
- 使用 POSIX 库的速度是否存在劣势。 (fread、fopen、fseek 等)
- 使用 win32 调用(CopyFile2、ReadFileEx)有什么好处
【问题讨论】:
-
看起来 xcopy 使用了一个未记录的 API 函数 PrivCopyFileExW。但是,记录在案的 CopyFileEx 的执行可能非常相似。