What's the bottleneck in 7zip (or other compression software)?

Soldato
Joined
26 Apr 2013
Posts
4,829
Location
Plymouth
I've recently switched out all of my mechanical hard drives for solid state storage to make a silent rig. As an aside, I thought it might increase my extraction speed. However, I noticed that my extraction speeds are still the same, they max out at 151MB/s.

I'm extracting from one SSD to another (both have DRAM), my CPU is not maxed on any core and there's loads of free RAM.

That would suggest it's not a hardware bottleneck, so what is it?
 
Associate
Joined
22 Jun 2018
Posts
1,582
Location
Doon the watah ... Scotland
Just cause a core doesn't show as 100%, didn't mean that it isn't working at its full capacity for the task its given.

By that I mean that in order to complete a compression task, a core may only utilise 20% of its overall ability. So on a per cycle basis, it's completing everything it can be given, but only needing 20% effort.

Similar idea to the hardware nvenc compression on a gpu. When encoding a video, the gpu will be using it's dedicated encoding cores to the max, but on task manager it typically will show a partial GPU usage overall.

Compression performance can also be affected by the level and complexity of the file. ... Im not well versed but the heavier the compression that longer it will take.
 
Man of Honour
Joined
13 Oct 2006
Posts
91,147
Compression can hit a lot of areas depending on the algorithm and software efficiency - it could be something like RAM latency or bandwidth due to the way a particular operation works is holding things back, etc. or above if say a particular acceleration structure is being used the CPU might be tapped out for its capability to handle that without actually saturating the CPU.
 
Soldato
Joined
28 Sep 2008
Posts
14,129
Location
Britain
I've recently switched out all of my mechanical hard drives for solid state storage to make a silent rig. As an aside, I thought it might increase my extraction speed. However, I noticed that my extraction speeds are still the same, they max out at 151MB/s.

I'm extracting from one SSD to another (both have DRAM), my CPU is not maxed on any core and there's loads of free RAM.

That would suggest it's not a hardware bottleneck, so what is it?

Hardware has a minimal impact on computational compression algorithms. For example Deflate and Deflate64 will request different hardware resources to compress, but changing the hardware from 2GB to 4GB is not going to make Deflate run any quicker.

Additionally, a lot of people just think "oo, right click 7zip". Many fail to realise that there are CPU thread settings within 7zip and compression options, all of which can impact the speed of compressing and uncompressing files.
 
Soldato
Joined
7 Jan 2003
Posts
3,205
Location
Offline
If checking CPU utilisation in task viewer change the view to logical processors and see if individual cores are running at 100%. Trying running in a command line with different switches.

I was able to max out a 10 core Xeon when creating an archive years ago. I don't remember checking the CPU % when extracting though.
 
Back
Top Bottom