How does PE Compact compare?

Started by Hotrod, October 01, 2008, 11:45:16 AM

Previous topic - Next topic


I have a few friends with little projects they distribute as freeware using UPX compression. They are constantly being plagued by virus scan false alarms. I want to recommend your program to them but I have never personally had need to use it. How does it compare to UPX in regards to ease of use, compression size and speed, False alarms, and any other relevant measures?

Jeremy Collake

As of the current versions of UPX and PECompact, they compare about equally in compression ratio, decompression speed, and problems with false alarms. If anything, PECompact beats UPX in compression ratio and false alarm problems (less of them with PEC), but I wouldn't want to claim that without some testing. I am sure that they are at least on near equal footing though. For some executables, one may do slightly better than the other, but there should be no major differences.

I used to post benchmarks, but they became out of date, so were removed.

PECompact's compression ratio is excellent, and has been at the top of the list for a long time, but it isn't something I want to stress. There are a lot of factors that go into compressing an executable, and sometimes to do it 'right' one needs to sacrifice compression ratio a bit.

For instance, a bare-bones, dumb, compression of every resource would achieve the best compression ratio.. but keeping select resources uncompressed (such as those used for shell icons, and the version information) is essential for proper functionality of the module. Furthermore, in some cases, such as DLLs with shared sections, removal of the shared section achieves better compression ratios, but can cause a runtime RAM use increase when there are multiple instances. Lastly, executables with debug data and overlays (extra-data appended at the end) can be compressed better by stripping these things.. but stripping them is not always the best practice.

So, PECompact should be #1 or #2 on the list of top packers for any given executable.. especially if you throw in some criteria about how the compression should properly be performed.
Software Engineer. Bitsum LLC.