1 Title: Allocations graphs
2 Tags: en, d, dgc, naive, gc, statistics, graph, allocation, benchmark, dgcbench
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.
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.
12 __ https://git.llucax.com/w/software/dgc/naive.git
13 __ https://git.llucax.com/w/software/dgc/dgcbench.git
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
20 |big_arrays| |rnd_data| |rnd_data_2| |shootout_binarytrees|
21 |split| |startup| |tree|
23 .. |big_arrays| image:: ##POST_URL##/allocations-graphs/big_arrays.m.png
24 :target: ##POST_URL##/allocations-graphs/big_arrays.eps
26 .. |rnd_data_2| image:: ##POST_URL##/allocations-graphs/rnd_data_2.m.png
27 :target: ##POST_URL##/allocations-graphs/rnd_data_2.eps
29 .. |rnd_data| image:: ##POST_URL##/allocations-graphs/rnd_data.m.png
30 :target: ##POST_URL##/allocations-graphs/rnd_data.eps
32 .. |shootout_binarytrees| image:: ##POST_URL##/allocations-graphs/shootout_binarytrees.m.png
33 :target: ##POST_URL##/allocations-graphs/shootout_binarytrees.eps
35 .. |split| image:: ##POST_URL##/allocations-graphs/split.m.png
36 :target: ##POST_URL##/allocations-graphs/split.eps
38 .. |startup| image:: ##POST_URL##/allocations-graphs/startup.m.png
39 :target: ##POST_URL##/allocations-graphs/startup.eps
41 .. |tree| image:: ##POST_URL##/allocations-graphs/tree.m.png
42 :target: ##POST_URL##/allocations-graphs/tree.eps
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.
51 __ https://git.llucax.com/w/software/dgc/naive.git
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
59 .. vim: set et sw=4 sts=4 :