Use UPX to compress your exe/dll files and get more out of your memory
Since I'm now a 6700 user I will contribute my earlier review of UPX for arm/pe exe/dll files.
For those of you who are famililar with UPX you'll already be itching to get the latest update as you read this line. For those of you arn't, read on.
UPX is "the Ultimate Packer for eXecutables". Take an exe, dll, or ocx file thats, oh... about 450kb in size. Run it through upx, and the file size drops down to 200kb or so. About 40%-50%. It compresses the executable like winzip but you dont have to decompress it to run it. it decompresses super fast in memory. You wont even notice.
The reason im posting this is because they just updated it to support ARM code. So all those exe's and dll's on your main memory (or storage memory) can be compressed now. And since they will be using less storage space, they execute faster too. I doubled my free main memory, and saved 10 megs on my storage card JUST from compressing the files.
I copied them over to a new folder on my desktop, ran
"c:\documents and settings\user\desktop\new folder\upx --best *.*"
from a command prompt. then copied the files back to my device. Simple as that. (you may also drag a file onto the upx.exe icon to compress it, or read through this thread for other methods)... If your using CardExport or wm5storage you can use a script found in this thread to compress everything on your memory card.
Opera dll is 5mb on your device, 1.6mb on mine. Results show the device executing programs faster as well.
so what exactly can i use it on to compress, i dont want to screw up my phone. Id assume not on plugins and stuff that run all the time. I tihnk we need to make a list of stuff it works with and doesnt. I dont get why this hasnt been discussed more for sounding like such a great idea
uhm... you guys are sorta right and sorta wrong. first off, i compressed the latest version of resco file explorer, and it functions just fine
second. the files are taking up x amount of space in ram regardless if they're 1/2 the size on the memory card or not. since they're 1/2 the size the device is able to read it off the memory card twice as fast. the decompression routine is extremly fast.
i didnt advertise something i haven't tested... i have 50 or so apps on my main memory and every one of them run just fine, including voice command.
if anyone wants to argue, argue, but my device has been performing flawlessly and quick, and i have more free ram.
the only app that wouldnt run for me was sktools. everything listed below runs fine:
the only way you'll know is to try, if you have a problem you can always decompress said file back to where it should be upx -d or reinstall your app..
of course i suggest backing up your device prior to doing it. but i have already tested it extensively. there is no lag opening opera and it was compressed 30% i think. 5mb to 1.6.
I've compressed a ton of files and it works awesome.
As for more RAM...
I opened up IE, Netfront, Verichat, POutlook AND was streaming live video and still had RAM free so things are still fine imo, considering Netfront and Verichat were both heavily compressed.
UPX is a free, portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers very fast decompression. Your executables suffer no memory overhead or other drawbacks because of in-place decompression.
In my opinion, the time it takes to decompress on a mobile device (400mhz) is faster then the added time it would take to read the rest of the file off the memory card.
using opera as an example again, 5mb to 1.6. thats 3.4 megs that would still have to have been read.
I've used it on a bunch as well including skype and Tom Tom (this also fixed my long hang loading they skpe icon; probably because reading a smaller file from the memory card and decompressing was faster than reading the uncompressed file.
one question for anyone that knows. What is the maximum size for Win32 programs that can be compresses?
I've used it on a bunch as well including skype and Tom Tom (this also fixed my long hang loading they skpe icon; probably because reading a smaller file from the memory card and decompressing was faster than reading the uncompressed file.
one question for anyone that knows. What is the maximum size for Win32 programs that can be compresses?
Just like the arm files, it all depends. I usually dont compress win32 exe's on the my computers, but I have compressed the crap out of whatever I could on my gig thumb drive. And same story, anywhere from 30%-60%....
you can't copy most of the .exes and .dlls in the /windows folder as far as i know so it won't work on those (most notably the large ppt.exe). i also found that it won't work on the RACtrlCE.dll which is the www.logmein.com .dll in /windows - well, it works, but then when you try to log in to logmein, it prompts you to download the client again.
so far it's working well on other things though.
-jeff
__________________
AT&T Tilt aka HTC Kaiser aka TyTn II
PPC 6700 is now my TV remote control and favorite paperweight lol
glad I could help. the one thing that pisses me off most about these things is the lack of memory. we have 4gig sd cards on the market and they can't give us more than 128 mb of rom/ram? please.
ahh you know what. Im sorry. Your right. I had a similar problem and ended up decompressing just the main exe, explorer.exe ? and all the problems went away.
mine didn't look bad as yours though. upx -d explorer.exe and let me know how your doing.
Also there are a ton of options that we could test, like, not compressing the icons?
Good idea, although i haven't read through the UPX help file enough to know how to make it compress everything but icons.
using the -d switch successfully restored my programs (spb pocket plus, diary, resco) but for some reason it wouldnt restore sk tools. i had to reinstall that.
How do you get it to compress everything but icons?