A test of three zippers
,I’m in the middle of quite a few posts, and honestly… this one should be pretty short because I had no idea I’d be writing it. I’m trying to make my Windows experience as pleasant as possible (that itself is an upcoming post), and part of that has involved looking for a good archive tool. Windows handles ZIP files well enough, but it’s kind of a barebones approach and it doesn’t handle any of the other major archive formats that I’m aware of. I looked at a few alternatives; as is typical for Windows they basically all had miserable, nonstandard user interfaces. Many appeared to be adware or scummy bundle situations. I only ended up testing three, and didn’t make it very far with one of them (PeaZip), simply because whatever Linux-esque toolkit it was made with prevented it from working with FancyZones.
So I tried out 7-Zip, WinZip, and benchmarked these against the inbuilt Windows archiver. I’m not settled on anything yet, but both of the alternatives offer support for all of the common archive formats; 7-Zip supports a ton of additional formats. WinZip wins on the UI/UX front, feeling nearly native and offering a nice dual-pane view; 7-Zip is pretty barebones in this department1. 7-Zip is free, open-source software; WinZip is proprietary, closed-source software with a $29 price tag.
What really shocked me, however, were the benchmarks. I wanted to test ZIP files specifically, as I run into them most often (other formats tend to be things I’ll be handling on the Linux side of things), and I couldn’t benchmark anything else against the inbuilt Windows archiver. My test machine is an 8th Gen Core i7, quad-core @ 1.8GHz, with 16GB RAM and only Intel onboard graphics. WinZip has an option to use OpenCL and offload the task to the GPU; I thought it would handily outperform the others accordingly2. Only 7-Zip has a built in timer, so results on the other two may have been off by a second or two as I was doing it manually with a stopwatch. I did three runs of each and averaged. The test was enwik9, the first 109 bytes of English Wikipedia. A gigabyte of source that reliably FLATEs down to under 350MB.
- 7-Zip was the slowest, which did not surprise me. It took about two and a half minutes, and compressed very well, down to ~313MB.
- Without OpenCL enabled, WinZip was the second slowest, but the most highly compressed. Despite being next-to-last for speed, it still shaved around 50 seconds off of 7-Zip, averaging about one minute and forty seconds. File size was ~311MB.
- OpenCL-enabled WinZip blazed through it at around a minute and ten seconds. This was about what I expected; the performance was excellent. Compression was the third worst with a final file size of ~318MB. It kept the GPU around 50% throughout.
- Windows tore through the file. Its progress bar basically did nothing for about 30 seconds. This, coupled with my lack of faith in the archiver, actually led me to miss my first attempt with it. Then I assumed that it crashed, leaving a corrupt file. Nope. Averaging at around 45 seconds, though leaving the largest file at ~327MB, it worked reliably, and it worked quickly. It wasn’t using GPU, and it only pegged a single core. I’m floored by how fast it was.
YMMV, of course, and this was… a single giant file run through only a handful of times. But I was shocked that Windows tore through a gigabyte source so quickly. Unzipping any of the resultant files was uniformly fast; decompression is not an intensive task. I don’t know that there’s an actual takeaway here, but I was shocked by the speed at which Windows compressed that file.