Hi, On Tue, Feb 28, 2012 at 6:06 AM, pdknsk <[email protected]> wrote: > To be honest, it seems a bit early to declare it stable. It still has > many minor bugs, and performance problems.
Not to be flip but all software has bugs and the Python 2.7 runtime (and the Python 2.5 runtime and the Java runtime and the Go runtime...) are no exceptions. We aren't aware of any unfixed bugs that would prevent someone from using the runtime but, if you encounter a bug, please file it on the issue tracker and we will fix it as soon as possible. Now onto performance :-) There are definitely instances where the Python 2.5 runtime outperforms the Python 2.7 runtime. The reverse is also true. It is not feasible for us to outperform the Python 2.5 runtime in every case. To pick a trivial example, Python 2.7 supports user-created threads and concurrent requests so some APIs now use locks when mutating global state and copy some data structures when previously that wasn't necessary. There is obviously some cost associated with doing this but it is hard to avoid paying it. We think that the benefits outweigh the costs. Brandon mentioned a 50% reduction in billed instances when moving to the Python 2.7 runtime and enabling threadsafe. We have seen a similar reduction in other applications. But, as Cayden said in another message, applications will benefit from concurrent requests to varying degrees. This is not only an App Engine property - any Python application modified to use threads may become more or (usually slightly) less performant. Given the way that App Engine is normally used, we expect concurrent requests to provide a cost benefit for most (but not all) non-trivial-volume [1] applications. Some of our larger customers have already migrated to reduce their instance costs, to use features not available in Python 2.5, or to gain access to higher-performance modules like cPickle and json. But, if you think that the Python 2.7 runtime is too risky to use right now due to bugs or performance problems, you can always wait a few months and re-evaluate. Now I'm going to reactivate my reality-distortion-field and eat some more cake :-) Oh, and thanks for starting the discussion! Cheers, Brian [1] An application serving one request per minute doesn't have any concurrent requests so it can't benefit. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" 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-appengine?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine" 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-appengine?hl=en.
