]> git.llucax.com Git - personal/website.git/blob - source/blog/posts/2009/08/allocations-graphs.rst
05ca3a53014b2dd294dcd27b215d875ff5a42308
[personal/website.git] / source / blog / posts / 2009 / 08 / allocations-graphs.rst
1 Title: Allocations graphs
2 Tags: en, d, dgc, naive, gc, statistics, graph, allocation, benchmark, dgcbench
3
4 Here are a set of improved statistics graphs, now including allocation
5 statistics. All the data is plotted together and using the same timeline to
6 ease the analysis and comparison.
7
8 Again, all graphs (as the graph title says), are taken using the `Naive GC`__
9 (stats code still not public yet :) and you can find the code for it in my `D
10 GC benchmark`__ repository.
11
12 __ http://git.llucax.com.ar/w/software/dgc/naive.git
13 __ http://git.llucax.com.ar/w/software/dgc/dgcbench.git
14
15 This time the (big) graphs are in EPS format because I could render them in PNG
16 as big as I wanted and I didn't had the time to fix that =S
17
18 .. container:: center
19
20     |big_arrays| |rnd_data| |rnd_data_2| |shootout_binarytrees|
21     |split| |startup| |tree|
22
23 .. |big_arrays| image:: ##POST_URL##/allocations-graphs/big_arrays.m.png
24    :target: ##POST_URL##/allocations-graphs/big_arrays.eps
25
26 .. |rnd_data_2| image:: ##POST_URL##/allocations-graphs/rnd_data_2.m.png
27    :target: ##POST_URL##/allocations-graphs/rnd_data_2.eps
28
29 .. |rnd_data| image:: ##POST_URL##/allocations-graphs/rnd_data.m.png
30    :target: ##POST_URL##/allocations-graphs/rnd_data.eps
31
32 .. |shootout_binarytrees| image:: ##POST_URL##/allocations-graphs/shootout_binarytrees.m.png
33    :target: ##POST_URL##/allocations-graphs/shootout_binarytrees.eps
34
35 .. |split| image:: ##POST_URL##/allocations-graphs/split.m.png
36    :target: ##POST_URL##/allocations-graphs/split.eps
37
38 .. |startup| image:: ##POST_URL##/allocations-graphs/startup.m.png
39    :target: ##POST_URL##/allocations-graphs/startup.eps
40
41 .. |tree| image:: ##POST_URL##/allocations-graphs/tree.m.png
42    :target: ##POST_URL##/allocations-graphs/tree.eps
43
44 The graphs shows the same as in the `previous post`__ with the addition of
45 allocation time (how long it took to perform the allocation) and space (how
46 many memory has been requested), which are rendered in the same graph, and an
47 histogram of cell sizes. The histogram differentiates cells with and without
48 the ``NO_SCAN`` bit, which might be useful in terms on seeing how bad the
49 effect of false positives could be.
50
51 __ http://git.llucax.com.ar/w/software/dgc/naive.git
52
53 You can easily see how allocation time peeks match allocations that triggered
54 a collection for example, and how bad can it be the effect of false positives,
55 even when almost all the heap (99.99%) has the ``NO_SCAN`` bit (see
56 ``rnd_data_2``).
57
58
59 .. vim: set et sw=4 sts=4 :