【问题标题】:Is it better to combine existing zip files vs creating new ones?合并现有的 zip 文件与创建新文件更好吗?
【发布时间】:2014-11-11 20:19:37
【问题描述】:

我有一个包含大量文件的应用服务器,我可能需要在运行时动态组合其中的一个子集,并将它们作为压缩文件在单个 HTTP 响应中发送。假设这些文件是 A 和 B。我可以将它们预先存储为 A.zip 和 B.zip,然后将它们组合成 C.zip,其中包含 A 和 B,或者只存储它们 A 和 B 并将它们压缩到C.zip。哪个更快?

【问题讨论】:

    标签: zip compression gzip unzip


    【解决方案1】:

    它们都是一个坏主意。制作包含两个文件 A.zip 和 B.zip 的 C.zip 将尝试压缩大部分不可压缩的文件,并且需要三个解压缩步骤来提取而不是一个。 (您可以避免浪费时间尝试使用适当的 zip 选项进行压缩。)提取 A 和 B 并压缩一个新的 C 会丢弃制作 A 和 B 的所有压缩工作,并在制作 C 时重复所有这些工作。

    相反,您希望合并两个 zip 文件,假设其中没有冲突的文件名/路径。您可以使用zipmerge 合并两个 zip 文件。

    更新:

    有趣的是,我只记得大约一年前我写了其中一个。它被称为zipknit

    【讨论】:

    • 如果你仔细阅读我的问题,我说 C.zip 包含 A 和 B 而不是 A.zip 和 B.zip。所以,是的,基本上我要问的是 zipmerge 比纯压缩 N 个文件更快
    • 是的,合并当然更快。合并不会重新压缩。
    • 哈哈,刚刚得知您是 gzip 的发明者之一 :) 很荣幸您回答了我的愚蠢问题 :)
    猜你喜欢
    • 2018-01-18
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    相关资源
    最近更新 更多