I've seen Javolution mentioned before, but I've never taken a closer look at it. Do you have any hands on experience?
Something that makes me a bit hesitant about the module descriptor caching is that the parsing of the module descriptors only accounts for roughly 20% of the registry construction time. The other 80% is spent in the registry startup (specifically initializing the hivemind.Startup service). So if we can reduce the parsing time by half we've reduced the registry startup time by 10%. --knut On 6/22/06, Liebig, Stefan <[EMAIL PROTECTED]> wrote:
Anyone had a look at http://javolution.org/ ? It looks very promising! Stefan ________________________________ Von: Knut Wannheden [mailto:[EMAIL PROTECTED] Gesendet: Do 22.06.2006 12:24 An: HiveMind Dev List Betreff: module descriptor caching All, I've been experimenting with XML module descriptor caching as a means to reduce the registry construction phase. I intended to implement this as a specialized ModuleDescriptorProvider which can save and load a ModuleDescriptor object to / from a file. My first attempt at this was to just have all the affected classes (*Descriptor, *Rule classes, etc.) implement java.io.Serializable and then serialize the ModuleDescriptor object to a file using standard Java object serialization. Alas this didn't result in any significant performance gain. By implementing java.io.Externalizable I am sure some performance could be gained. But at the cost of some complexity. Also I'm wondering how much performance there is to gain by doing this. I was wondering if any of you had any other ideas on how to approach this. E.g. use Javassist? Further, once we find a feasible caching technique I think we should also deliver this serialized form inside the jar files. E.g. a META-INF/hivemodule.xml.ser file. What do you think about that? Cheers, --knut --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
