如何使用多核压缩
什么是多核(Multi-Core)?
内核(core)是计算机中最重要的核心部件CPU的运算单元,具有两个或两个以上内核的CPU称为多核CPU。 早期计算机的CPU都是只有一个内核的单核CPU,但最近用于移动设备的CPU普遍为多核CPU,因此是否支持多核已成为衡量软件性能的重要因素。
使用多核压缩
Bandizip提供多核压缩功能。压缩文件需要大量的CPU运算,因此利用多核并行处理,有助于提高处理速度。
使用该功能,四核(支持8线程)比单核,压缩速度最多快6倍,八核(支持16线程)速度最多快13倍。
下图是在四核8线程MacBook Pro,支持多核的Bandizip和不支持多核的Finder分别压缩文件的对比图。
为何在解压缩时无法利用多核?
使用Bandizip压缩文件时,由于使用多核,CPU占用率达到最高,但解压缩时,CPU占用率并不高。
其原因在于压缩数据的算法之特性。大多数的压缩算法是参考前面的数据来压缩后面的数据。此时,可以通过并行执行进行压缩,但解压缩时,前面的数据被解压后才能解压后面的数据,因此无法与压缩一样并行执行,不得不只利用单核解压缩,因此CPU使用率低。
然而,最近随着技术的发达,已开发出解压缩时利用多核的方法。一般情况下,将压缩的数据分成若干区块后分别并行执行,这样就可以将下列压缩文件利用多核快速解压。
- 7Z文件(使用LZMA2算法压缩)
- RAR文件(使用RAR5算法压缩)
- ZPAQ文件
- ZIP文件
为何在压缩时CPU占用率不高?
除此之外,压缩文件时CPU占用率不高的情况也很常见。压缩过程由以下几个步骤组成:
读取要压缩的文件(存储装置)▶ 压缩(CPU)▶ 写入压缩的文件(存储装置)
一般情况下,在压缩过程中因瓶颈现象造成CPU使用率提高。但如果使用速度较慢的存储装置(U盘、网络驱动器等),有可能因为存储I/O瓶颈,导致CPU使用率不高。
参考事项
- 压缩多个极小文件(小于100KB)时,提高压缩速度的效果可能微乎其微。
- 7zip用ZIP格式压缩文件时也支持多核压缩,但仅适用于多个文件,而不适用于单个文件。