[pypy-dev] Copy-on-write list slicing as GSoC project

Николай Зинов nzinov at gmail.com
Thu Mar 24 02:03:14 EDT 2016


Hi Armin,

Thanks for your feedback.
As you mention there needed some more research on this problem, so I think
I should not apply for GSoC and rather do some work out of its scope. A
special-case GC interface is interesting direction and I am going to take a
look at weekrefs.

Cheers,

Nikolay.

чт, 24 мар. 2016 г. в 0:39, Armin Rigo <arigo at tunes.org>:

> Hi Nikolay,
>
> On 14 March 2016 at 19:15, Николай Зинов <nzinov at gmail.com> wrote:
> > I found implementing copy-on-write list slicing particularly interesting
> for
> > me. Below go my ideas. Note, that at some places I see different possible
> > choices so I need feedback.
>
> Thanks for the early proposal; you should submit it to google's system
> very soon.  I'm sorry it didn't receive more active feedback from the
> main mentors.  One of the reasons is that this is likely more involved
> than you describe.
>
> In order to efficiently implement copy-on-write list slicing, we would
> need some special GC support.  Otherwise, as you describe, there is
> the problem that as soon as there exist a slice anywhere, we cannot
> any more modify a big list without making a copy of the whole list.
> Moreover, there is also the issue that if 'mylist[1:5]' is kept alive,
> then the whole 'mylist' is also kept alive, even if it would not be
> necessary; this can consume some extra memory but more importantly it
> can delay calling destructors for arbitrarily long periods of time.
>
> So, serious work on this topic should start with designing a usable GC
> interface which fixes these problems; a bit like weakrefs, which are a
> general GC interface.  The problem is that we don't really know what
> such an interface could look like.
>
>
> A bientôt,
>
> Armin.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20160324/eac4ef11/attachment.html>


More information about the pypy-dev mailing list