You are here

UPX Performance Discussion

12 posts / 0 new
Last post
John T. Haller
John T. Haller's picture
Offline
Last seen: 5 hours 10 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
UPX Performance Discussion

We started a discussion around UPX performance in the PortableApps.com AppCompactor news story. It has some important points but was off topic in a news story, so I'm moving it here to continue the discussion. It actually started with billiebub's comment about AppCompactor:

First off, PortableApps are wonderful IF and ONLY IF they should be portable. Take for example "ClamWin" or "GnuCash". You can only install them if you run the installer (which I hate because they modify the registry). Installers are great to simplify the installation process (i.e installing a codec or a system driver). When you write a wrapper around UPX, that's really pushing it (in my opinion). UPX has only a few command line options anyways, so why come up with a wrapper that only works on directories, and to to top it off, the cmd window shows up when you run UPX. I think this app does not deserve to be portable. Sorry for the opinion.

Patrick Patience
Offline
Last seen: 4 years 4 months ago
DeveloperModerator
Joined: 2007-02-20 19:26
Sorry For the Opinion?

Heh, don't be sorry for an opinion.

However, UPX has quite a few options, and being command line, it's not that easy for the average user. Being just a little bit tech savvy (as I assume you are), you may not understand that the average user will have quite a hard time using UPX as it is. This 'wrapper' as you put it creates an easy to use interface for people to compress portable applications using the options we've found work best, or other options. This application also re-compresses .zip's and .jar's to be even smaller, and save more space on your drive. PortableApps.com is not the only location for portable applications, and by providing this, we're not only helping developers by giving them an easy-to-use interface with out default options, but it's also extremely handy for users with portable applications from elsewhere as it helps speed up how the application runs and save space on the drive. The command window could be hidden, but it's kept there so see how things are going. What's wrong with the command window? If you didn't use AppComacter, you'd be using UPX in a command window anyways.

Also, our installers do not write to the registry, unless you're talking about the local versions.

billiebub
billiebub's picture
Offline
Last seen: 11 years 4 months ago
Joined: 2008-10-21 12:50
I was just remembering Albert Einstein's saying

Albert Eintein once said "Keep things simple, but not any simpler". I always download PortableApps from here (well, the ones i really think are great to have anyway). I understand your point about trying to make life easier for the average user but who am I to judge. I think an average user wouldn't even care about compressing executables or archives especially now that the storage mediums are really cheap and very large in size. I just want to clarify something though, UPX does not speed up applications, it just saves space mainly for distribution and scrambles the code (although you could decompress it). I'm still impressed though with your skills at 16 years old. Good job for the other apps you made portable.

It's not what you know, its what you can prove.

Patrick Patience
Offline
Last seen: 4 years 4 months ago
DeveloperModerator
Joined: 2007-02-20 19:26
Agreed

All great points. And thanks. Smile

John T. Haller
John T. Haller's picture
Offline
Last seen: 5 hours 10 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Speed Up

It does speed it up in terms of access times. Many flash drives don't read as fast as hard drives. But processing power is plentiful enough that you don't notice the

Sometimes, the impossible can become possible, if you're awesome!

billiebub
billiebub's picture
Offline
Last seen: 11 years 4 months ago
Joined: 2008-10-21 12:50
agreed but...

I agree it will speed up loading in terms of "Read Access" and yes it is true that USB "Access Speed" is much slower than hard drive access speeds. However...the smaller size on the storage medium is often based on the cost of a larger size in memory (size of compressed + size of uncompressed image). When a compressed executable is loaded, it gets decompressed in memory (in time so they call it). So take that compressed + all the sections being decompressed when required. Another point is that with UPX files, each instance of the application takes another full memory size, while uncompressed files can share sections, so multiple instances won't just use multiple memory usage. if that USB 1.1 has access to large memory then its great otherwise, it gets slower.

It's not what you know, its what you can prove.

John T. Haller
John T. Haller's picture
Offline
Last seen: 5 hours 10 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Try It

We've run real-world tests and larger apps start much faster when UPX compressed from average speed flash drives. And same model flash drives that are larger are significantly slower than their smaller counterparts. And the sharing issue is moot since portable apps don't share DLLs between each other. That's when that comes into play.

I'm talking real world, repeatable, significant results in terms of everyday usage. Every launch is much faster. Which is why we run the AppCompactor on all of our apps except the Mozilla apps (which we don't due to our licensing agreement with Mozilla). Not to mention the much faster install times. You've been enjoying the benefits of the AppCompactor this entire time you've been using our apps. We just hadn't released it as a general utility until now.

If you'd like to continue this conversation, please move it to the forums.

Sometimes, the impossible can become possible, if you're awesome!

billiebub
billiebub's picture
Offline
Last seen: 11 years 4 months ago
Joined: 2008-10-21 12:50
You Try It

Why move it to the forums? this is getting better. I've tested one of your UPX'd apps. No, not OpenOffice, I'm too lazy to go get it and install it so instead I used something you guys also have "VLCPortable". I love it. To prove my point with loading compressed PEs as well as having them decompressed (as well as their compressed dll files), here is the summary (I still don't know where you came with your "world results", but here is what I got):

VLC (zip archive) straight from the vlc website:
- Load time: less than 1/2 a second (I like)
- Memory footprint once loaded: 10.7 MB (I like).

VLCPortable (straight from the Portableapps.com website):
- Load time: 3 seconds
- Memory footprint once loaded: 57.4 MB + 4.8 (loader) = 62.2 MB (you gotta be kidding me).

I guess that says it all, UPX only when you've got tons of memory and you're running out of USB space.

It's not what you know, its what you can prove.

ZachHudock
ZachHudock's picture
Offline
Last seen: 1 year 4 months ago
Developer
Joined: 2006-12-06 18:07
the VLC zip file, and our VLC

the VLC zip file, and our VLC Portable are totally different packages. While the VLC zip file may not require install and is, in that sense only, portable, our package adds a wrapper to handle backing up local settings, moving a user's portable settings into place, and then restoring the local settings after VLC is exited. Your tests really prove nothing, because they are two entirely different packages being compared.

To provide accurate test results, try VLCPortable, and then the package again after using the DECOMPRESS option in the AppCompactor on it.

The developer formerly known as ZGitRDun8705

billiebub
billiebub's picture
Offline
Last seen: 11 years 4 months ago
Joined: 2008-10-21 12:50
please don't tell me that

Are you telling me that the 63 MB memory footprint is all because of "backing up local settings, moving a user's portable settings into place, and then restoring the local settings after VLC existed". Please don't tell me that. Unless you're coding it in Java, converted to win32, then extract the JVM. There is no way what you said could take up a full 50 MB of memory. Hmmm, would I go with the zip or the UPX'd version?

It's not what you know, its what you can prove.

m2
Offline
Last seen: 13 years 2 months ago
Joined: 2006-12-12 12:00
I suggest reading this.

I suggest reading this.

"Those people who think they know everything are a great annoyance to those of us who do." Asimov

billiebub
billiebub's picture
Offline
Last seen: 11 years 4 months ago
Joined: 2008-10-21 12:50
great post

Great post. Compression at the cost of memory. I'm pretty sure someone whose speed paranoid will make sure to get lots of memory and the latest in hard drive technology. Compression is tricky when you look for speed. You gotta know what you're compressing and expect it not to work using different hardware. If you know your hardware and what you're compressing, by all means.

It's not what you know, its what you can prove.

Log in or register to post comments