我可以使用哪种数据格式分发大量小文件?

时间:2017-01-17 06:55:45

标签: zip compression archive dataformat

我即将发布机器学习数据集。此数据集包含大约170,000个文件(png图像为32px x 32px)。我首先想通过zip存档(57.2MB)分享它们。但是,提取这些文件需要很长时间(超过15分钟 - 我开始时不确定)。

是否有更好的格式来共享这些文件?

3 个答案:

答案 0 :(得分:0)

尝试.tar.xz - 压缩率更高但提取速度比.tar.gz

慢一点

答案 1 :(得分:0)

我刚做了一些基准测试:

实验/基准

我使用dtrx提取以下内容并time dtrx filename来获取时间。

Format      File size     Time to extract
.7z          27.7 MB      > 1h
.tar.bz2     29.1 MB      7.18s
.tar.lzma    29.3 MB      6.43s
.xz          29.3 MB      6.56s
.tar.gz      33.3 MB      6.56s
.zip         57.2 MB      > 30min
.jar         70.8 MB      5.64s
.tar        177.9 MB      5.40s

有趣。提取的内容大小为47 MB​​。为什么.tar的内容大小超过其内容的3倍?

反正。我认为tar.bz2可能是一个不错的选择。

答案 2 :(得分:0)

只需在最低压缩级别使用tar.gz(只是为了摆脱文件之间的tar零)。 png文件已经被压缩,因此尝试进一步压缩它们毫无意义。 (尽管您可以使用各种工具在将每个png文件放入发行版之前尽量减小它们的大小。)