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.


Reply via email to