文件解压和压缩是看什么速度?

发布网友

我来回答

5个回答

热心网友

主流的机械硬盘速度大概在50-150MB/s之间,SSD大概是150-500MB/s,主流的CPU(带流水线)、内存的速度大概是硬盘速度的100~1000倍左右。
换句话说,如果一个解压算法,平均解压一个字节消耗的指令数如果少于100个,那么硬盘速度就很难赶上CPU速度了;如果平均解压一个字节消耗的指令数少于1000个,那么绝大多数机械硬盘很难赶上CPU速度。所以,瓶颈在哪,主要看解压的过程中的CPU负担。
通常情况下,zip的解压字典只有32K或者K,解压的过程中并非每次都搜索完整的字典,所以zip默认配置下很难占满CPU,如果考虑到多核的话,每个核的负担可以更低,磁盘IO的负担会更重,瓶颈效果会更明显。如果要让CPU成为瓶颈,需要调整一些压缩的策略,
比如:1. 字典要更大,查找速度会更慢,如果字典比内存还大就更好了(7zip最大可以配置1G的字典)。2. 文件的信息熵要足够大,换句话说文件本身更难以压缩,比如已经被压缩过的视频文件,这样解压时查字典的负担会更重。3. 解压到内存里,或者至少是SSD里。4. 压缩的时候选择用AES-256加密一下。5. 挑一个性能比较弱的CPU解压。满足以上条件的情况下,就可以让CPU成为瓶颈了。
但这样的条件很难达到,因为满足以上条件,会让压缩的过程变得非常慢,比如7zip的LZMA2算法中,把字典配到1G,线程数16的情况下,压缩需要内存是88G左右,绝大多数PC的内存都不够用。在超级计算机上压缩,到普通计算机上解压就有可能吃满CPU。
对于通常情况下来说,解压文件瓶颈在硬盘,只有在一定特定的场景下,CPU才会成为瓶颈。
补充一点:如果解压的是零碎的小文件,速度没有参考价值。小文件的实际写入开销比文件实际大小要大的多。

热心网友

文件压缩和解压缩都是主要通过CPU计算,所以CPU性能对压缩和解压缩的速度影响比较大,另外如果是在U盘等读写速度较慢的存储介质里运行压缩或解压可能速度也慢,因为数据读取和存储速度被*了。

热心网友

这个一般不涉及速度问题,不过有压缩速度跟解压速度是肯定的,现在的电脑速度都很快,很少有人考虑这个问题。

热心网友

文件解压和压缩需要看cpu的速度还有硬盘速度,解压和压缩是比较吃电脑资源的。

热心网友

CPU,内存,为主要,最主要是CPU,另外和软件也 有关,现在的360压缩跟好压都挺快。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com