Do heavier java libraries cause Google App Engine to take longer in starting instances?
Even if the libary isn't used at all until later?
Do heavier java libraries cause Google App Engine to take longer in starting instances?
Even if the libary isn't used at all until later?
The answer to this is yes. I tested it by doing a simple hello world servlet. It averaged about 2 seconds to load. Then I added a bunch of libraries that I didn't even use. Then it averaged about 4 seconds to load.
Though it could just be that the server was running slower while I did my second test. I only did a few tests for each case.
In my opinion, while loading an instance of an application for the first time, the app engine takes a fixed minimum amount of time for all application (for initializing the jvm and what not).
So I don't think having a few extra libraries will affect much, may be a few dozen milliseconds at most.
For google's take on the matter, read this post "Request performance in Java"
Yes. One reason is because the app is compiled on each initial load, so if the app has any reference to libraries it'll have to load them to perform compile-time checks. You can reduce this by enabling precompilation: http://googleappengine.blogspot.com/2009/12/request-performance-in-java.html