[pypy-dev] BList strategy
Armin Rigo
arigo at tunes.org
Fri May 6 12:36:14 EDT 2016
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.
More information about the pypy-dev
mailing list