【发布时间】:2012-10-01 18:48:14
【问题描述】:
我需要压缩每个文本文件并复制到另一台服务器。文件大小可能从 500MB 到 8GB。每个文件都没有依赖关系。我有 35 个文件 Appx。
我的常规代码为此花费了大约 3-4 小时。为了减少时间,我只是想为此实现线程。你觉得线程会减少时间还是有其他最好的方法来做到这一点。
【问题讨论】:
-
首先看看是不是因为你必须压缩文件并且它正在使用 100% 的一个内核,或者是因为通过网络复制速度很慢。
-
File size may very from 500MB to 8GB- ZIP 文件不能大于 4GB。你希望如何压缩一个 8GB 的文件? -
@Darin Dimitrov 压缩文件的最小大小为 22 字节。对于标准 ZIP,存档文件和其中的单个文件的最大大小为 4,294,967,295 字节(232-1 字节,或 4 GiB),对于 ZIP64,为 18,446,744,073,709,551,615 字节(264-1 字节,或 16 EiB)
-
几乎不可能“按原样”回答这个问题,因为我们不知道哪个部分需要 3-4 小时。并行执行可能会导致瓶颈移动,或者如果您尝试在慢速连接上过多堵塞,甚至可能导致失败。
-
是压缩花费最多的时间还是网络传输?这将是一个开始。
标签: c# multithreading performance zip zipfile