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