[pypy-dev] BList strategy

Omer Katz omer.drow at gmail.com
Sun May 8 16:23:12 EDT 2016


I took a stab at it and it turns out the implementation is pretty complex.
If anyone wants to give it a shot, I'd love to get some help.


‫בתאריך יום ו׳, 6 במאי 2016 ב-19:36 מאת ‪Armin Rigo‬‏ <‪arigo at tunes.org‬‏>:‬

> Hi Omer,
>
> On 6 May 2016 at 11:04, Omer Katz <omer.drow at gmail.com> wrote:
> > I agree that we can certainly benefit from using blists in large enough
> > lists. How much is large enough? We'll probably need to benchmark right?
> >
> > Are there any JIT paths for blist operations?
>
> Do you mean "would we need to add specific JIT support for blists"?
> No, unlikely.
>
> > Will blists run faster because of the JIT or just because the rest of the
> > runtime is more efficient?
>
> I think you're talking about my sentence "it would hardly be a noticable
> overhead with the rest of the CPython interpreter around.", is that
> correct?  If that's correct, then I'm saying that our JIT usually
> turns a Python line like "x = somelist[index]" into a single
> load-from-memory CPU instruction, plus the check that "index" is not
> out of bounds.  I'm saying that blists will most likely need more than
> a single CPU instruction here.  So, at least in microbenchmarks,
> blists could easily be several times slower than regular lists, after
> the JIT has removed everything around it.
>
>
> A bientôt,
>
> Armin.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20160508/211cc66d/attachment.html>


More information about the pypy-dev mailing list