Microsoft Word is a behemoth of an application, but I note that it only takes up 8MB when loaded…
The general Java overhead is still quite high and one of Swing’s Achilles’ heels is the fact that it creates so much stuff for an apparently very simple end result.
My game takes up 21.5MB so far while it’s running and there’s not even a teeny bit of AWT in it. Only about 6MB of that is heap; there’s 1MB of sound, 1MB of graphics, a few MB of .DLLs for OpenGL etc, and 3MB for (my) bytecode. Then there’s rt.jar classes and VM overhead: compiled code, hotspot profiling information, a bit of free heap, some stack, and the Sun .dlls. If I added a Swing front end to it I can see my memory requirements doubling and no longer being able to fit comfortably on a low-end machine.
There’s a rumour that we’ll get a Java execution service with the 1.5 release which will move all executing Java code into one process and cut most of that overhead out for concurrent executions but that doesn’t cut the straight-up 6MB overhead that you can’t escape from. Here’s hoping…
Cas