解压文件的限制是硬盘的速度。
主流机械硬盘速度在50-150MB/秒左右,SSD速度在150-500MB/秒左右。主流CPU(带管道)和内存速度约为硬盘速度的100~1000倍。
换句话来说,如果一个解压算法解压一个字节平均消耗的指令少于100条,那么CPU的速度就很难赶上硬盘的速度;解压缩一个字节所消耗的指令。指令数量不足1000条,因此对于大多数机械硬盘来说很难赶上CPU速度。
简介
一般情况下,ZIP的解压字典只有32K或64K,解压过程中并不是每次都查找整个字典,所以ZIP默认配置下很难完全占用CPU,如果考虑多核,每个核的负担可能会更少,磁盘IO的负担会更重,瓶颈效应会更明显。
例如,7zip的LZMA2算法中,如果分配字典1G,线程数为16,则压缩所需的内存约为88G,这对于大多数PC来说是不够的。在超级计算机上压缩,在普通计算机上解压会占满CPU。
上一篇:软盘是内存还是外存
下一篇:内存读取速度和硬盘读取速度