Friday, December 29, 2017

Shrink that file! ..yes but by how much? 



I was moving a rather large virtual disk today, which led to an entire odyssey of problems, as these minor tasks often seem to do. Towards the end I decided to compress the virtual disk for archiving.

I have a few different tried and true compressors on my computer, why not test them out to see who does better on this particular task. Compressing 1 monolothic huge, presumably compressible file is the challenge.

Using the MS Windows tools I already brought the disk down from a hefty 9.5 gigs to 5.4. Could we go much further than that, or does MS provide compression with their compacting tool?

So we have 4 contenders, and 3 using two different compression levels:
  • Winrar 2.4
  • Hamster Freezip 3.0
  • Winzip 17
  • 7zip 9.2
  • 7zip 17.01
Winrar 2.4 is a venerable choice. However over the ages its proven its worth with a good balance of speed and the ability to out compress zipfile versions on the normal settings. More recent versions of zip compressors have begun making the compression process about the same. However the need to preload even large files has made the programs as a whole generally slower to use.

7zip and Hamster have the benefit of being free. Hamster on the other hand, despite having a name Im not fond of, seems to be fairly well optimized and speedy. Sadly it also preloads the contents to view an archive which can make it slow, although not as slow as Winzip.  7zip has its own special branch of zip compression which is often much smaller, but is quite slow at compressing. Conversely it doesn't prescan contents, making viewing an archive a handy and speedy process.

Winzip is arguably the heavy guns. They are the longtime standard, and quite pricey. So they'll have to perform above the rest to make continued investment worthwhile. As stated they already stumble with their long load times (which they didn't used to have in older versions btw).

So how did they do? Compressing a 5.4GB virtual disk In order of file size:
(done with a core I7 Ivy, on an Intel nvme SSD)

  • 7zip 17.01 7z ultra settings - 3,246,744 KB time 5:01
  • winzip zipx (option named 'best method smallest size') - 3,432,207 KB time 11:01
  • 7zip 7z slow but often quite small - 3,433,919 KB time 10:22 
  • 7zip 17.01 7z - 3,454,266 KB time 4:01 
  • Winrar - 3,643,304 KB time 3:08
  • 7zip zip format - 4,056,192 KB time 4:12
  • 7zip 17.01 zip format - 4,056,192 KB time 4:21
  • winzip zip format (option named 'legacy compression') - 4,077,092 KB time 0:55
  • Hamster full ('*** compression' in their terms) -4,081,097 KB time 1:01
  • Hamster normal ('** compression' in their terms) - 4,085,040 KB time 0:49
The above was using the automatic and easy to change settings of each program. Much more in depth changes are possible with 7zip.
-Changing 7zip 17.01 to use 'large memory pages' reduced the 7z time to 3:59 for identical file size.

Speed wise 7zip 9.2 was slower than all the others with both types. The others varied per how much work they did, though hamster came out last in absolute size, its 2 star compression does most of the work and faster than anything else. Modern 7zip has come along nicely for speed.

I had 2 versions of 7zip handy. Version 9.2 is in the range of 8 years old now vs 17.1 that came out this year. The results between versions were not what I would have guessed. They've gotten bigger, and in the case of normal zip format, slower as well. However the 7z version has gotten massively faster, apparently by making use of all available cores, which they don't do in the normal zip algorithm or the older version.

Given the file sizes and times I think Ive got to hand it to the free programs. This affirmed my normal use which is Hamster for day to day compression, with 7zip for those special big jobs. ..and winrar, well its just nice to have around. That is until I put 7zip 17.01 in the mix. Now with the additional speed, file size, and customization options I may at last be able to cut down to 1 archiving program. ...its been a long time coming.

No comments:

Post a Comment