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.

Reply via email to