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 <ar...@tunes.org>: > Hi Omer, > > On 6 May 2016 at 11:04, Omer Katz <omer.d...@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. >
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev