I just completed the first steps of updating my app (which formerly
was written in REALbasic 4.5) to compile 2008R5.1. I expected the
file size to increase a bit, but was surprised by how large it is
now. To be fair, the updated version of my app has more features, so
part of the size increase is expected, but still...
RB2008 RB4.5
Mac Intel : 15.3MB
Mac PPC : 15.7MB 4.4MB
Mac UB : 28.2MB
Win32 : 14.9MB 3.1MB
About a 4x increase for a single platform, and nearly a 7x increase to
make a universal binary.
Poking around in the package contents for the Intel version, I find:
Frameworks 2900K
MBS 2100K
RB 800K
MacOS 9500K
App 6800K
RB 2700K
Resources 2900K
ICNS 1900K
art 1000K
Total 15300K
A few things stand out --
* ICNS: any filetype defined with an icon seems to include a full
ICNS icon file, which typically is 104K. I had 18 of these which are
not needed and can be stripped. Savings: 1800K
* Art: some of my art is using TIFFs instead of PNGs or JPGs.
Savings: 1000K
* Frameworks: MonkeyBreadSoftware (MBS) plugins. Some of these are
quite large (e.g. the TIFF plugin is > 500K). I can probably reduce
the # of these by carefully trimming code & features and using using
declares instead of plugins in a few cases. Savings: perhaps 800K ?
* Frameworks: REALBasic: RBXML.rbx_0.dylib is 560K and I believe is
related to my use of the XMLDocument class. Not sure if I can strip
this.
So, with some judicious trimming, I think I can reduce my 15MB app
down to about 12MB. Better, but still a nearly 3x increase from before.
The good news is that the app compresses quite well: From 12MB down
to about 3MB. The old RB4.5 app only compressed from 4.4MB down to
1.4MB.
So, on the one hand, my app has grown 4x in size. On the other hand,
zipped, it's only grown by 1.6MB. The reason I care so much about
file size is that this app gets included in a media build and then
gets downloaded 100s or 1000s of times.
Any ideas on ways to further compact the app?
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|