Hello,
I'm encountering similar issue with Guice. Currently the initialization time of my application is for about 12 seconds. (From my log: Injector Initialization Time:12023 ms). On my local development machine it's initialized for Time:4982 ms.

Here is some logging snippets from my local environment that are showing execution time of the initialization operations:

Jun 7, 2010 7:26:44 AM com.google.inject.internal.Stopwatch resetAndLog
FINE: Module execution: 1849ms

Jun 7, 2010 7:26:45 AM com.google.inject.internal.Stopwatch resetAndLog
FINE: Binding initialization: 517ms

Jun 7, 2010 7:26:47 AM com.google.inject.internal.BytecodeGen newFastClass
FINE: Loading class com.google.sitebricks.rendering.control.DefaultWidgetRegistry FastClass with com.google.appengine.tools.development.isolatedappclassloa...@1326484
Jun 7, 2010 7:26:47 AM com.google.inject.internal.BytecodeGen newFastClass
FINE: Loading class com.google.sitebricks.compiler.StandardCompilers FastClass with com.google.appengine.tools.development.isolatedappclassloa...@1326484
Jun 7, 2010 7:26:47 AM com.google.inject.internal.BytecodeGen newFastClass
FINE: Loading class com.google.sitebricks.DebugModePageBook FastClass with com.google.appengine.tools.development.isolatedappclassloa...@1326484
Jun 7, 2010 7:26:47 AM com.google.inject.internal.BytecodeGen newFastClass
FINE: Loading class com.google.sitebricks.DebugModeRoutingDispatcher FastClass with com.google.appengine.tools.development.isolatedappclassloa...@1326484
Jun 7, 2010 7:26:47 AM com.google.inject.internal.Stopwatch resetAndLog
FINE: Binding validation: 2308ms

Any idea how I can optimize my application ?

I was thinking for using of child injectors and late bindings, but currently I couldn't find out clean way to do it.

Regards,
  Miroslav

On 02/10/2010 01:11 AM, Dhanji R. Prasanna wrote:
Do you have a lot of AOP running? That could be making GAE run additional classes through the security loader.

Dhanji.

On Wed, Feb 10, 2010 at 9:35 AM, John Patterson <[email protected] <mailto:[email protected]>> wrote:

    Yes but pre-compilation does not affect Guice startup time.

    On 10 Feb 2010, at 05:20, Dhanji R. Prasanna wrote:

    Have you tried using offline precompilation?

    Dhanji.

    On Wed, Feb 10, 2010 at 7:05 AM, Bob Lee <[email protected]
    <mailto:[email protected]>> wrote:

        John,

        Enable FINE-level logging for Guice's Stopwatch:

              Logger stopwatchLogger =
        Logger.getLogger(com.google.inject.internal.Stopwatch.class.getName());
              stopwatchLogger.setLevel(Level.FINE);

        This will log perf #s and tell you at a high level where the
        time is spent during injector creation.

        Beyond that, I'd use a profiler like YourKit.

        Unless you have a ginormous configuration, my guess is
        something expensive is happening in one of your modules. 4
        seconds sounds excessive. I use Guice on Android, even going
        so far as to create a separate injector for each screen, and
        startup time hasn't been an issue.

        Bob

        On Sun, Feb 7, 2010 at 2:17 PM, jd <[email protected]
        <mailto:[email protected]>> wrote:

            Hi, I am using Guice with a Google App Engine project but
            have found
            that the startup time of Guice is killing my app.
             "Loading requests"
            are very frequent in GAE and need to be fast or your user
            sits and
            waits. Currently the apps startup time is about 6 seconds
            and of that
            the Injector takes 4 seconds to build.  This is with
            Stage set to
            Development which did knock about two seconds off the time.

            My question is, are there any other tricks to reduce
            Guice startup
            time.  Could some configuration be saved or serialized
            rather than
            recalculated every time my app spins up a new instance?

            Thanks,

            John.

            --
            You received this message because you are subscribed to
            the Google Groups "google-guice" group.
            To post to this group, send email to
            [email protected]
            <mailto:[email protected]>.
            To unsubscribe from this group, send email to
            [email protected]
            <mailto:google-guice%[email protected]>.
            For more options, visit this group at
            http://groups.google.com/group/google-guice?hl=en.



-- You received this message because you are subscribed to the
        Google Groups "google-guice" group.
        To post to this group, send email to
        [email protected]
        <mailto:[email protected]>.
        To unsubscribe from this group, send email to
        [email protected]
        <mailto:google-guice%[email protected]>.
        For more options, visit this group at
        http://groups.google.com/group/google-guice?hl=en.



-- You received this message because you are subscribed to the
    Google Groups "google-guice" group.
    To post to this group, send email to
    [email protected] <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/google-guice?hl=en.

-- You received this message because you are subscribed to the Google
    Groups "google-guice" group.
    To post to this group, send email to [email protected]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:google-guice%[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/google-guice?hl=en.


--
You received this message because you are subscribed to the Google Groups "google-guice" 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-guice?hl=en.

--
You received this message because you are subscribed to the Google Groups 
"google-guice" 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-guice?hl=en.

Reply via email to