[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