"Henning P. Schmiedehausen" <[EMAIL PROTECTED]> schrieb am 20.12.2004
09:59:26:

> Thomas Fischer <[EMAIL PROTECTED]> writes:
>
> >4) modify the Peer classes such that the static initializer of any Peer
> >class loads every other Peer class, e.g. by putting in
class.forName(...)
> >calls in the static initializer.
>
> This makes the Torque startup with large schematas as sluggish as the
> Hibernate startup. Acceptable for "start once, run a long time"
> application like server side java, inacceptable for e.g. command line
> tools. Using Hibernate here is a main PITA.
>

Good point. I tested this with the classes in the runtime test (29 Peers at
the moment for me) and after a complete restart of my computer (one year
old P4 2,4GHz) to eliminate disk caching, the engine startup took 800
milliseconds, and the loading of all Peer classes took 3400 milliseconds.
This is more than I expected.

> If you really think of "putting Class.forName()" somewhere, please
> make it _one_ method in e.g. the mapbuilder and let all the peers call
> this method.  I don't want to have a list of n Class.forName()
> statements duplicated in every Peer.
>

Yes, this makes sense, especially as the loading of the classes should be
done only once for all classes and should not be repeated in every static
initializer.

The loading time of the first Peer class can be made smaller if the schema
can be divided into parts which have no fooreign key relation with each
other. then one could initialize the related groups separately. But that
gets complicated....

I am not sure what to do. I would accept a long startup time to ensure a
complete initialisation, but then I am a "server side java" guy.

   Thomas


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to