将大量文件合并到一个档案中的最快方法是什么?

将大量文件合并到一个档案中的最快方法是什么?

我有一个目录,里面有大量 jpeg 图像(超过 300,000 个文件),它们是一个项目的一部分。备份和移动这些图像有点儿像噩梦一样 - 不是因为文件大小(总共约 3 GB)虽然很大但仍然可以管理,而是因为文件数量太多。复制这些文件需要花费大量时间,并且会大大减慢任何备份/复制程序的速度。

因为我必须保留这些文件,所以我想将它们合并成某种存档。我正在尝试使用 WinRar 进行“存储”压缩,但它很慢。在我的开发机器(Raid-0 中的 2xSAS 硬盘,双 i7)上,估计大约需要 100 分钟。

情况并没有那么糟糕,这次我愿意等待(这是一个一次性操作),但我很好奇是否有更快的方法来做到这一点,以防我将来有同样的需求(使用功能较弱的机器和较少的时间)。

答案1

我不这么认为。这里的瓶颈是驱动器总线速度和文件访问开销。这就是为什么复制多个文件比复制一个相同大小的文件花费的时间要长得多。

Winrar 中的“存储”选项肯定会加快速度,但在存储文件的同一驱动器上创建存档也会减慢速度。在外部设备上创建存档也会影响性能。

理想情况下,您需要使用同步工具(例如同步) 只会备份新的和更改的文件,从而大大减少完成时间。

如果您打算仅将文件存档保存在本地机器上,那么我认为 .rar 存档是一个不错的选择,但我可以想象,在您的项目中使用这些文件,而在存档之外,这可能是一场噩梦。

对于如此大量的文件,您需要一个专用的存储驱动器,最好是一个快速的(10K+rpm)存储驱动器,并且最好位于专用的文件服务器内。

您可能还会对以下内容感兴趣tar 的 Windows 端口.Tar 是一个快速归档程序,旨在将所有文件转储到单个 .tar 归档中,而无需任何压缩。

相关内容