这不仅适用于本地驱动器传输。我甚至注意到,当将文件推送或拉取到服务器,或只是上传到 Google Drive 等服务时,通常将许多小文件压缩(即使只使用“存储”ZIP 选项)、传输它们,然后解压缩它们的速度会快得多。
如果是这样,为什么大多数服务(如 rsync、Windows/macOS 文件传输等)不能自动执行此操作?例如,如果用户尝试传输超过 1000 个非常小的文件,是否会自动将文件“压缩”到临时位置,然后传输它们,然后解压缩它们?或者也许“即时”执行此操作,以免占用不必要的磁盘空间?
答案1
对于每个文件,单独的网络连接会产生开销,这会增加总耗时。如果连接是加密的,则更是如此。
对于单个 zip 文件,仅需传输单个文件,且仅需网络开销。也就是说显著地随着文件数量的增加,速度会更快。
我们无法回答为什么没有实现,这是开发者/供应商的问题。有一件事可能是不能保证远程端可以使用相同的 zip 技术。