But*_*kus 2 compression copy centos
我有一些 tar.gz 文件,在 CentOS 系统上总共有很多 GB。大多数 tar.gz 文件实际上很小,但带有图像的文件很大。一个是7.7G,另一个是4G左右,还有一对1G左右。
我已经解压了一次文件,现在我想要所有这些文件的第二个副本。
我认为复制解压缩的文件比重新解压缩它们要快。但是我大约在 10 分钟前开始运行 cp -R 并且到目前为止复制了不到 500M。我确信拆包过程更快。
我对吗?
如果是这样,为什么?解包比简单地复制现有结构更快似乎没有意义。
考虑两种情况:
如果您的 CPU 没有被解压过程占用,那么 I/O 操作受到限制是理所当然的。根据这个论点(并且由于您必须在两种情况下写入相同的数量),读取较小的文件(tar.gz)比读取较大的文件花费的时间更少。还节省了时间,因为读取单个文件比读取许多小文件更快。
节省的时间取决于读取 (I/O) 和解压缩 (CPU) 所花费的时间之间的差异。因此,对于最小可压缩性的文件(例如已经压缩的文件,如mp3、jpg、zip等),解压所需的时间很可能大于读取操作节省的时间,实际上将是解压比复制慢。
(值得注意的是,I/O 越慢,使用压缩文件节省的时间就越多 - 如果复制操作的源和目标位于同一物理磁盘上,则会出现这种情况。)
| 归档时间: |
|
| 查看次数: |
1694 次 |
| 最近记录: |