Thread
:
UPX - a fast binary packer
View Single Post
Serge
2007-12-09 , 10:41
Posts: 503 | Thanked: 267 times | Joined on Jul 2006 @ Helsinki
#
2
Using executable compressors such as UPX is sometimes considered not a very good idea in linux. It saves some space on disk (flash memory), but makes RAM usage less efficient. For example, it prevents sharing of memory pages from code section between several instances of the same program running. It is a very bad choice for shared libraries because of this. Compressing the executables which are supposed to have only one instance running might be useful, but VM manager might also be somewhat hindered by it. Running normal executable, the system can free some less frequently used memory pages from the code section and fetch them back from the file image on disk any time later. This does not work when running UPX compressed executables, and the system needs to move less frequently used pages to swap when it is short on memory.
Did you estimate how much space you can save in reality? It would be nice to see a comparison between the size of .deb file with UPX compressed and original executable. Also how much saving provides UPX vs. jffs2 compression for the files stored on the internal flash?
By the way, regarding the efficient use of system memory. I wonder if all the shared libraries are assigned unique base virtual addresses in order not to have to be relocated on loading in all maemo OS versions. There is a tool called 'prelink' which can deal with all this stuff.
Last edited by Serge; 2007-12-09 at
11:06
.
Quote & Reply
|
The Following User Says Thank You to Serge For This Useful Post:
smackpotato
Serge
View Public Profile
Send a private message to Serge
Visit Serge's homepage!
Find all posts by Serge