]> git.llucax.com Git - personal/website.git/blob - source/blog/posts/2008/09/discarded-cycles-reclamation-algorithms.rst
Add some blog posts
[personal/website.git] / source / blog / posts / 2008 / 09 / discarded-cycles-reclamation-algorithms.rst
1 Title: Discarded cycles reclamation algorithms
2 Tags: en, d, dgc, rc, cycles, weak pointers, bobrow, groups, discarded, friedman, wise
3
4 Finally, we address the cyclic structures reclaimation when doing reference
5 counting. But I think there are some algorithms that are clearly unsuitable
6 for D.
7
8 All the *manual* techniques (manually avoiding or breaking cycles or using
9 *weak pointers*) are unacceptable, because it throws the problem again to the
10 programmer. So I will consider only the options that keep the memory
11 management *automatic*.
12
13 There are several specific cycles reclamation algorithms for functional
14 languages too (like Friedman and Wise), but of course they are unsuitable for
15 D because of the asumptios they make.
16
17 Bobrow proposed a general technique, in which a cyclic structure is reference
18 counted as a whole (instead of reference counting their individual cells) but
19 I find this impractical for D too, because it needs programmer intervention
20 (marking "group" of cells).
21
22 .. vim: set et sw=4 sts=4 :