I have an end-user application that uses hibernate (the actual database engine is MySQL).
My application tends to use around 100 MB of memory, which is beyond the specifications I have to follow (my app isn't allowed to use more than 60 MB of memory).
I have obfuscated my code (using proguard) and the application now runs at about 80 MB of memory. the two big memory hogs are now SWING (I'm hesitant to, but considering switching to SWT) and hibernate (I've used a memory profiler to verify this).
I tried to obfuscate the hibernate JARs but, would run into problems with Class.forName () calls and classes that weren't obfuscated for some reason, some classes would refer to obfuscated method names when the methods weren't obfuscated, and vice versa. It became a real confusing mess, so I obfuscated everything but hibernate.
Has anyone tried to, or is it really possible to obfuscate hibernate?
Would it be much of a memory decrease?
Are there other things I could try?
Would it help if I switched to another database engine?
What about HSQLDB, which runs inside the JVM, avoiding the overhead of using SQL?
:)
|