I am part of team anti "Java/GAE". There are a lot of reason because I prefer Python, but the main on is the cold start problem already mentioned. The fact that the cold start time more o less proportional to the number of class you have in you project make Java not first citizen on GAE. Just to make it clear, it is not a Java problem, is a GAE-Java interaction problem.
About it, it's not true that Python can have this problem. You can avoid it with the right approach. If you could make your code to be read in a lazy way, cold start would be not a problem. I just wrote a small framework, Zenwarch <https://bitbucket.org/renzon/zenwarch> to do this and the result is that my cold start is constant and small all the time, even when the number of script files grows. And even webapp2 has LazyHandlers ( http://webapp-improved.appspot.com/guide/routing.html?highlight=routing%20string) So you can avoid the cold start. So, for small projects, use whatever language you like. But if you think your app can get bigger and you want to use java, use AWS. On Tuesday, March 12, 2013 8:36:39 PM UTC-3, Carl Schroeder wrote: > > This has been documented to death on these forums with resident instances > for paid apps and posted logs with missing warmup requests. > > Also, "Routinely" is a very loose description. Does that mean that > sometimes your app loads faster than 5 seconds and sometimes slower? > What instance size are you talking? F4s or F1? > > If you have stumbled upon something magical that accesses the user & > datastore apis and never takes longer than 5 seconds to service requests in > an F1, I suggest you post some code here. You would close two open issues > for Google and make the people who starred them really happy. > > > > On Tuesday, March 12, 2013 11:05:21 AM UTC-7, Vinny P wrote: >> >> >> On Tuesday, March 12, 2013 12:18:24 PM UTC-5, Carl Schroeder wrote: >>> >>> The sentiment is not anti-Java, it is anti GAE/Java. Writing "Hello >>> world" to the datastore takes 4-5 seconds to cold start load on an F2 in >>> GAE/Java. That is on good days, it could take twice as long on stormy days. >>> The more the application grows, the worse this gets. >>> >>> Why risk 5+ second response times? Wait until Google has fixed the Java >>> instance loading time issue before you embark on writing Java apps for GAE. >>> FYI, I used the low-level API and no frameworks. Latency was untenable. >>> >>> >> I can't say that I share your experiences with GAE/J, I find that I can >> routinely cold start instances + datastore requests in less than 5 seconds, >> although I'm recently having issues with memcache slowness... >> >> True, GAE/J has problems. But so do the Python and Go runtimes. I'm >> subscribed to the google-appengine-go Google group, and I see as many >> complaints there, as I do on this group about Python/Java. Giving the OP a >> balanced view of the pros/cons of each runtime is the point of this thread, >> and I think it's fair to let him know what he's looking at. >> >> @OP: if you're interested in looking more about Java performance, may I >> recommend this thread (it's a bit of a long read, to give you fair >> warning): >> https://groups.google.com/d/msg/google-appengine/sA3o-PTAckc/okDqu5aE-78J >> >> > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
