« Help

Compression on Multi-core Computer



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. These days even four or eight-core CPUs are commonly used, and whether a software supports multi-core CPUs is an essential factor in evaluating its performance.

Multi-core Compression

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.

Why is multi-core not used during decompression?

You can see that CPU usage is increased during compression while it isn’t during decompression.

This is caused by a characteristic of data compression algorithms. Most data compression algorithms use a method of referring to front data. Due to this, not like its reversal, decompression is almost impossible to be processed in parallel (parallelization) and even with a large number of cores, the speed improvement is minimal.

Why is CPU usage not high during compression?

This may be caused by low CPU utilization during compression. 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.

Note

  • 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.