[pypy-dev] pypy1.6 slow on string-heavy ops

Yury Selivanov yselivanov.ml at gmail.com
Tue Aug 23 19:28:56 CEST 2011


If you read that Armin's email carefully, you notice that he talks about a low-level primitive called "stacklets", which have some limitations, but are not intended for a regular use.  Greenlets will be implemented on top of them.  So anything that was possible to do before will be supported in the new version.

On 2011-08-22, at 11:40 PM, Andy wrote:

> Hi,
> 
> Anyone who can answer my previous question - "what if my greenlet needs to call multiple Web services or that it's a long running one? In those cases the greenlet will be blocked and resumed many times. How does PyPy handle that?"
> 
> Thanks.
> 
> From: Andy <angelflow at yahoo.com>
> To: Armin Rigo <arigo at tunes.org>
> Cc: "pypy-dev at python.org" <pypy-dev at python.org>
> Sent: Sunday, August 21, 2011 2:31 AM
> Subject: Re: [pypy-dev] pypy1.6 slow on string-heavy ops
> 
> Thanks Armin.
> 
> I dug around and found an email from you titled "Stacklets". Is that the new solution?
> 
> If I understand correctly, in this solution a greenlet could only be suspended and resumed once. But what if my greenlet needs to call multiple Web services or that it's a long running one? In those cases the greenlet will be blocked and resumed many times. How does PyPy handle that?
> 
> From: Armin Rigo <arigo at tunes.org>
> To: Andy <angelflow at yahoo.com>
> Cc: Jacob Biesinger <jake.biesinger at gmail.com>; "pypy-dev at python.org" <pypy-dev at python.org>
> Sent: Saturday, August 20, 2011 5:43 AM
> Subject: Re: [pypy-dev] pypy1.6 slow on string-heavy ops
> 
> Hi Andy,
> 
> On Fri, Aug 19, 2011 at 5:48 PM, Andy <angelflow at yahoo.com> wrote:
> > I remember reading in this list that PyPy-JIT would not work with greenlet
> > because of how greentlet manipulated the C stack and there wasn't any easy solution.
> 
> No, I think you are confusing two topics.  The existing Stackless
> PyPy, which does no C stack manipulation, doesn't work with the JIT
> without a lot of careful work.  This solution is deprecated now.  The
> new solution, which does C stack manipulation, works with the JIT out
> of the box.  Both solutions are "implementation details" only; you get
> the same tasklet/greenlet API to work with.
> 
> > So will PyPy JIT work with gevent which is based on libevent (and soon to be
> > libev)? Any target release date?
> 
> Yes.  The next release is likely to be 1.6.1 soonish.
> 
> 
> A bientôt,
> 
> Armin.
> 
> 
> 
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> http://mail.python.org/mailman/listinfo/pypy-dev
> 
> 
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> http://mail.python.org/mailman/listinfo/pypy-dev



More information about the pypy-dev mailing list