Just grabbed it, here's a breakdown of the package contents:
Frameworks 22.9
-libwx_macud-2.8.0.dylib 19.8MB
-libwx_macud_gizmos-2.8.0.dylib 496KB
-Python.framework 2.6MB
--Versions
---2.5
----Python 2.6MB
----Resources 8KB
MacOS 124KB
Resources 22MB
-lib 22MB
--python2.5
---lib-dynload 19.3MB
---site-packages.zip 2.6MB
Whew, OK.
So where's the bulk of the usage? Providing the whole python runtime (Resources->lib->python2.5). This shouldn't be necessary in later versions of Mac OS, but this allows this app to run on older versions that don't have python available.
The other big thing is libwx_macud-2.8.0.dylib. This is wxPython, which is a python implementation of the wxWidgets framework for windowing. With the Python to Cocoa bridge introduced in 10.5, something like this should not be necessary, since standard .nib/.xib files can be used for the GUI.
Now for the ram, from top output:
Code:
PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
1672 TaskCoach 0.0% 0:05.17 1 82 463 25.5M 40.2M 50.7M 309M
So the private memory is 25MB. Not great, but only about half of the total due to the shared library (likely libwx_macud-2.8.0.dylib, which is unlikely to be used by much else, so really this process is the only one benefitting). The developer chose to use a library to provide windowing, at the cost of some memory. The python runtime is also likely to be using most of that private memory.
They also packaged the universal binary version of these files. That's fine, but it does cost on disk space. Using xslimmer i got it down to 30MB of diskspace, but this doesn't help in memory usage during runtime.
Essentially this app was written using a very modern language, with existing frameworks that were not native to the platform. Because of this, there is a cost to the end users. Like I said, this could be mitigated in a few ways. If you have python 2.5 installed, you could softlink /lib/python2.5 from resources to your local copy, and get back 22MB of diskspace. That, along with xslimmer, would probably get you down to about 11MB of diskspace, and that would still be mostly wxWidgets.
The python scripts themselves are 8.5KB. The rest is all overhead for making sure you don't have to do any legwork to run the app, or limit you to later versions of OS X, etc.
Not sure if you were really wanting it picked apart, but there you go.
-Lee