How to use Multi-core Compression
What is Multi-core?
A core is a processing unit in a CPU, and a CPU with two or more cores is called a multi-core CPU. Multi-core CPUs have become very common these days. Four or eight-core CPUs are widely used, and even CPUs for mobile devices are made as multi-core CPUs. Therefore, whether a software product supports multi-core CPUs is an essential factor in evaluating its performance.
Bandizip supports multi-core compression. Since data compression requires a lot of CPU work, using multi-core helps to improve the compression speed.
For example, Bandizip compresses your file(s) 6 times faster with 4 cores 8 threads CPU, and 13 times faster with 8 cores 16 threads CPU.
The pictures below show the comparison between Bandizip that supports multi-core and Mac Finder that only uses single-core.
Why is multi-core not used during decompression?
You may find that compression by Bandizip increases the CPU usage to the maximum, but decompression does not increase the usage that much.
This is due to a characteristic of data compression algorithms. When decompressing an archive, most algorithms should access the front data of the archive first. Unlike compression, therefore, decompression is difficult to be processed in parallel by a multi-core CPU. Even with a large number of cores, the processing speed hardly improves.
Thanks to the recent advancement of technology, however, some ways have been introduced to make full use of a multi-core CPU when decompressing an archive. Bandizip may perform faster decompression using every core in the CPU for the following archives:
- 7Z archives compressed with LZMA2 algorithm
- RAR archives compressed with RAR5 algorithm
- ZPAQ archives
- ZIP archives
Why is CPU usage not high during compression?
There may be a problem that compression doesn’t increase the usage either. Compression is processed by the following steps:
Reading the file to compress (Storage) ▶ Compression (CPU) ▶ Writing to the archive (Storage)
In general, a bottleneck occurs during the compression, resulting in high CPU usage. However, in some cases, such as using slow-speed media (external USB drive, network drive, etc.) a bottleneck occurs on storage I/O and therefore CPU usage is not high.
- When you compress multiple files of small size (less than 100KB) the speed improvement is minimal even with multi-core.
- 7zip supports multi-core compression when compressing your file(s) in ZIP format, but it works only for multiple files and not for a single file.