I'm not trying to say anything datanucleus does is wrong. 5 seconds to initialize an ORM layer is plenty quick in my book. Most "enterprisey" apps I deal with in my day job take well over 3 minutes to get moving. Really I was just wondering if there was any known way to speed it up that I was missing... Which doesn't seem to be the case, and even the suggestions you provide would be difficult because of GAE/J limitations.
The real issue is that GAE/J in that it shuts down "inactive" apps after what I consider a relatively short period of time. Not a discussion for this thread. Thanks for your input Andy. I know the product is open-source, and I still am planning on running a profiler to hopefully discover any hotspots and create performance patches. On Jan 7, 4:10 am, datanucleus <[email protected]> wrote: > > Thats over 5 seconds to initialize 5 persistent classes. > > Actually no. That is the time taken to load up plugin capabilities (so > we know what we can allow the user to do), create you an EMF and its > cache(s), and load all metadata for your classes (since JPA requires > that all classes are known at the start). Split the timings down :- > > 06.482 - 07.289 - plugin registration > 07.289 - 08.570 - who knows since you don't provide log at debug > level. likely registering supported types etc > 08.570 - 11.013 - generate metadata from classes and their > annotations. > > No specific timing can be taken as accurate since it is affected by > any other process running at that time, so can only be used as a > ballpark guide. > > The only way the metadata time can be changed is to provide a > serialisation process that writes it to disk after loading (the first > time), and then just (re)loads from serialised afterwards - you then > have to deal with knowing when the class was changed so to dump the > serialised metadata. Whether that would have a big impact is unknown. > There is no flexibility to multithread things at startup since GAE/J > doesn't allow that. Obviously Google or anyone else could contribute > that handling since DataNucleus is an open source project, or they > could sponsor that work. There is no flexibility to multithread things > at startup since GAE/J doesn't allow that.
-- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
