2012-04-23 9 views
6

Ich verwende Guice 3 auf Google App Engine 1.6.4. Heute habe ich etwas Schlechtes in meiner Startzeit gesehen. Meine Anwendung (lokaler Start) dauerte 12 Sekunden, um zu starten.Guice Startzeit auf Google App Engine 1.6.4

Ich habe eine ServletModule, wo ich alle meine Bindungen in der configureServlets Methode schreibe. Wenn ich diese Methode leer gelassen habe, dauert es 3 Sekunden, bis meine Anwendung startet.

Diese Methode enthält ~ 30 Bindung, 3 Multibinder und 1 mapBinder ...

  • Ist es eine normale Startzeit? (~ 9s)
  • Wie Profil Guice Verarbeitung? (log, etc ..)
  • Gibt es einige gute Praktiken, Guice Startup zu optimieren?

Vielen Dank!

+1

Ich frage mich, ob normale Java-Profiling-Techniken Ihnen sagen würden, wie viel davon Guice Overhead ist und wie viel davon die Kosten für die Konstruktion der Bindungen in jedem Fall sind. Außerdem kann [LazySingleton] (http://groups.google.com/group/google-guice/browse_thread/thread/e34e475609c2cec4) möglicherweise dazu beitragen, dass Initialisierungen so weit verbreitet werden, dass sie aktiv gebraucht werden. –

+1

Der eigentliche Code würde helfen, herauszufinden, warum es so viel Zeit braucht. –

+0

Verdammt, ich wechselte gerade zu Google App Engine 1.6.3 und jetzt dauerte es 4 Sekunden ... Es ist ein Google App Engine 1.6.4 Problem ... Jemand weiß warum? – pass1

Antwort

2

Wechseln zu Google App Engine1.6.3 oder 1.6.5 lösen das Problem. Es scheint, dass es ein Google App Engine1.6.4 Problem ist. Danke für Ihre Hilfe!