Compression makes things faster …?

It does when the program in question is a 48MB MAME executable.

As a test, I compressed an uncompressed MAME executable with UPX at compression level 9. When comparing the uncompressed EXE and the compressed one, the compressed one loaded in 2 seconds while the uncompressed took as long as 10.

That says something but I’m not sure what. Could it be with processors clocking 2GHz the delay in program load time is the hard disk speed? Is it faster to load a small EXE to RAM then decompress and execute it there than it is to run an uncompressed EXE off the hard disk?

I’m not sure, but it does merit further investigation.

For reference, my PC is a laptop with a Pentium M processor with a range of 700MHz (.7V) - 2GHz (1.308V), 1,00GB RAM (unsure what kind) and a 7800rpm notebook hard disk.

Edit: This also showed improved performance on Adobe Photoshop/Imageready and the amazingly bulky Adobe Bridge after compressing *.dll and *.exe with UPX. CorelDRAW X3, however, completely failed to load after compression and required a complete reinstall to work again. :(

Edit 2: Do not compress regsresen_US.dll or AdobeLM.dll in Photoshop CS2, otherwise Photoshop will fail on load (it appears to CRC check those to prevent hackers from messing with it).

Edit3: If you use a shell patcher (e.g. FlyAKite or Super Turbo Tango Patcher) do not UPX any executables or DLLs that the patcher modifies icons in. When it tries to re-patch modified files at next boot, it will DEVOUR your executables. I had to reinstall Firefox because of this. Also, be wary of any time a program’s icon changes after UPX compression. If it changes, chances are the program has become b0rked and needs to be decompressed again.

Edit 4: UPX compressing of Visual Studio equals death. Do not even try it.

Programs that seem to work fine with all DLLs and EXEs compressed:

  • FlashGet
  • Adobe Acrobat
  • Adobe Acrobat Distiller
  • Adobe Designer
  • DOSBox
  • HanwangPen Challanger
  • OpenOffice.org
  • Mozilla Thunderbird
  • IrfanView
  • Foobar2000
  • DAEMON Tools
  • Corel Paint Shop Pro Photo
  • Chinese-English Assistant
  • PowerWord
  • BitComet
  • 010 Editor
  • Lenovo Phone Suite
  • Miranda Instant Messenger
  • PE Explorer
  • Raxco PerfectDisk
  • Process Explorer
  • Registry Workshop
  • Resource Hacker
  • RM-Clock
  • ScummVM
  • Geoshell
  • TiMIDIty
  • Virtual Floppy Image Converter
  • Vi IMproved
  • WinSCP3
  • Apache
  • MySQL Daemon
  • NaviCat
  • bsnes, ZSNES and Uosnes
  • Gens32 and Kega Fusion
  • psxeven
  • Project64
  • MAME32More
  • FCEUltra
  • VisualBoyAdvance

Programs that work fine barring a few DLLs or EXEs:

  • Adobe Photoshop/ImageReady (omit regsresen_US.dll and AdobeLM.dll)
  • Adobe Bridge (omit regsresen_US.dll and AdobeLM.dll)
  • QuarkXpress Passport (don’t compress the main EXE)
  • Mozilla Firefox (omit firefox.exe if you use a shell patcher)
  • TUGZip (don’t compress TzRes.dll or you lose your archive icons)

Programs that don’t work at all:

  • Microsoft Visual Developer Studio
  • Nero Burning ROM (it will detect any EXE changes as a virus and demand you reinstall)

Related Posts

Related posts brought to you by Yet Another Related Posts Plugin.


About this entry