Jump to content


UPX - smaller executable file


8 replies to this topic

#1 OFFLINE   GaHero

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 11 November 2007 - 05:33 PM

Hi,

I have noticed you optimized your Programms for USB-Sticks. (Size of Programms/only a single exe file), but I am a software developer, too and in my opinion you can increase the compression of the exe file with Upx. As you can see in the attachment pic, I made the exe more smaller. (from 800 to 300kB). I think this will be good idea for your downloadserver, the downloadtime and the using with Usb-sticks. Here the link to upx on wikipedia: http://de.wikipedia.org/wiki/UPX Maybe you use my idea...

GaHero

Attached Files



#2 OFFLINE   CTskifreak

    Power Member

  • Members
  • PipPipPipPip
  • 1,413 posts
  • Gender:Male
  • Location:CT, USA

Posted 11 November 2007 - 06:03 PM

English link...


AJ
Unofficial Ambassador to the Maximum PC Forums and Moderator of the Piriform Facebook page

#3 OFFLINE   Andavari

    Captain Spectacular

  • Moderators
  • 13,330 posts
  • Gender:Male
  • Location:Shadow Moses

Posted 11 November 2007 - 10:25 PM

Since UPX is easy to use on a per user basis that's how I'd suggest using it, because every now and then there's always some antivirus software that falsely detects UPX'd files as being infected.

UPX official website: http://upx.sourceforge.net/
Complexity of incoherent design.

#4 OFFLINE   MrG

    Administrator

  • Admin
  • 1,105 posts
  • Gender:Male
  • Location:London, UK

Posted 12 November 2007 - 03:14 PM

We did some benchmarking with a compressed EXE and a normal one... and found that
the user experience was affected quite badly with a noticeable slow down.
So we're planning to stick with uncompressed EXEs for the time being.

#5 OFFLINE   GaHero

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 12 November 2007 - 03:36 PM

The speed of the programm cant decrease, because the decompression is before you see the program's gui. But ok, it only was an propose.

#6 OFFLINE   JasonDS

    Newbie

  • Members
  • Pip
  • 8 posts

Posted 14 November 2007 - 03:22 AM

The execution time will decrease, however, the decompression speed is only noticeable on files 100mb or more, and still, it's minor even then. The decompression time is also dependant on the compression level you used, a compression level of 1 would take significantly shorter times to execute where as a level of 6 may take longer. There are also several other options you can configure using the command-line that may or may not affect the performance.

UPX is great - but it should remain a user preference, if they know about UPX and wish to use it, they may, but as CCleaner wants to maintain their credability for supplying a great prorgam, they don't want UPX to endanger their respect.

PS - Thanks for spreading the word about UPX, I have never heard about it before now ;)

#7 OFFLINE   CTskifreak

    Power Member

  • Members
  • PipPipPipPip
  • 1,413 posts
  • Gender:Male
  • Location:CT, USA

Posted 14 November 2007 - 03:52 AM

Wait...you just learned about it, and you are coming off as a pro??? I'm thoroughly confused!!!

AJ
Unofficial Ambassador to the Maximum PC Forums and Moderator of the Piriform Facebook page

#8 OFFLINE   Andavari

    Captain Spectacular

  • Moderators
  • 13,330 posts
  • Gender:Male
  • Location:Shadow Moses

Posted 14 November 2007 - 05:09 AM

View PostCTskifreak, on Nov 13 2007, 09:52 PM, said:

Wait...you just learned about it, and you are coming off as a pro???
Online documentation! ;)

I would personally avoid using UPX for downloadable software due to the fact that antivirus every now and then gives false positive detection of UPX compressed files.

With modern compression such as RAR and 7z (excluding ZIP) most notably LZMA compression in installation compilers such as Inno Setup -- UPX is no longer needed to "save file size."
Complexity of incoherent design.

#9 OFFLINE   JasonDS

    Newbie

  • Members
  • Pip
  • 8 posts

Posted 14 November 2007 - 10:30 PM

I'm glad I sounded like a pro ;)

All I did was read the readme, and use a little common sense (I'm a programmer myself) :)