]> git.llucax.com Git - personal/website.git/blob - source/blog/posts/2010/09/28-cdgc-done.rst
Add some blog posts
[personal/website.git] / source / blog / posts / 2010 / 09 / 28-cdgc-done.rst
1 Title: CDGC done
2 Tags: en, d, gc, dgc, cdgc, done
3
4 I'm sorry about the quick and uninformative post, but `I've been almost 2 weeks
5 without Internet`__ and I have to finish the first complete draft of my thesis__
6 in a little more than a week, so I don't have much time to write here.
7
8 __ http://llucax.com.ar/blog/blog/post/01f34e69
9 __ http://www.llucax.com.ar/proj/dgc/
10
11 The thing is, to avoid the `nasty effect of memory usage being too high`__ for
12 certain programs when using `eager allocation`__, I've made the GC `minimize the
13 heap more often`__. Even when some test are still a little slower with CDGC, but
14 that's only for tests that only stress the GC without doing any actual work, so
15 I think it's OK, in that cases the extra overhead of being concurrent is bigger
16 than the gain (which is inexistent, because there is nothing to do in parallel
17 with the collector).
18
19 __ http://llucax.com.ar/blog/blog/post/-1a4bdfba
20 __ http://git.llucax.com.ar/w/software/dgc/cdgc.git?a=commitdiff;h=6a40cbf5959226bf1e6ec7bdb6c7e03253072c28
21 __ http://git.llucax.com.ar/w/software/dgc/cdgc.git?a=commitdiff;h=fcae2848ff5191cadae251c0a1c5ce3ea66a02b8
22
23 Finally, I've implemented `early collection`__, which didn't proved very useful,
24 and tried to keep a better occupancy factor of the heap with the new
25 `min_free`__ option, without much success either (it looks like the real winner
26 was eager allocation).
27
28 __ http://git.llucax.com.ar/w/software/dgc/cdgc.git?a=commitdiff;h=b5c4d254c9df225484907a78437474f95c3e48c4
29 __ http://git.llucax.com.ar/w/software/dgc/cdgc.git?a=commitdiff;h=fab64ab48e28ed336fb0cdc638d656aacb89e614
30
31 I'm sorry I don't have time to show you some graphs this time. Of course the
32 work is not really finished, there are plenty of things to be done still, but
33 I think the GC have come to a point where it can be really useful, and I have to
34 finish my thesis :)
35
36 After I'm done, I hope I can work on integrating the GC in Tango__ and/or
37 Druntime__ (where there is already a `first approach`__ done by Sean Kelly).
38
39 __ http://www.dsource.org/projects/tango/
40 __ http://www.dsource.org/projects/druntime/
41 __ http://thread.gmane.org/gmane.comp.lang.d.runtime/75
42
43
44 .. vim: set et sw=3 sts=3 :