Wow, you're right. I just ran a test on one of my Python apps and found the same thing. I always assumed 4 seconds was an acceptable start up time, especially when compared with some of the Java apps I have runnning on App Engine which have often exceeded the 30 second page limit on startup and generated a DeadlineExceededException. Thanks for showing your results. I would never have known this was an issue.
HN user
eop
That's what Task Queue is for:
With the Task Queue API, applications can perform work outside of a user request but initiated by a user request. If an app needs to execute some background work, it may use the Task Queue API to organize that work into small, discrete units, called Tasks. The app then inserts these Tasks into one or more Queues. App Engine automatically detects new Tasks and executes them when system resources permit.
Python:
http://code.google.com/appengine/docs/python/taskqueue/overv...
Java:
http://code.google.com/appengine/docs/java/taskqueue/overvie...
Cold startup is almost unnoticeable for Python apps (bite my lip! see update below). On the Java side it can be an issue but, as with most things, if you dig around, you can find some acceptable workarounds.
Perhaps, but the question I was responding to was about "pain points". All I was saying is if you're coming from an RDBMS background, as I am, then there are growing pains in adjusting to using BigTable. If you don't have the time or patience to make the adjustment, then this will be a pain point. Otherwise, perhaps it's a selling point.
No RDBMS. No SQL. No joins. That's the main adjustment for me. But after you adjust to that, it's great.