]> git.llucax.com Git - software/dgc/dgcbench.git/blob - micro/plot-c.gpi
micro: Plot allocation statistics (time, space and histogram)
[software/dgc/dgcbench.git] / micro / plot-c.gpi
1 #!/usr/bin/gnuplot
2
3 # Terminal
4 set term postscript eps monochrome size 18cm,27cm 16
5 set output "@@OUT@@"
6
7 # Title
8 set multiplot
9 set label 1 "@@PRG@@ (@@COL@@ collector)" center at screen 0.5,0.987 \
10                 font "Helvetiva,24"
11
12 # Style Macros
13 set macros
14 black = "lc rgb 'black'"
15 dgray = "lc rgb 'gray40'"
16 lgray = "lc rgb 'gray70'"
17 white = "lc rgb 'gray90'"
18
19 # Tics
20 set xtics offset 0,graph 1.05
21 set mxtics
22 set ytics mirror
23 set mytics
24 set autoscale xfixmax
25 set grid xtics ytics mxtics front lc rgb 'gray20'
26
27 # Style
28 set style fill solid noborder
29
30 # Data format
31 set datafile separator ','
32
33 # Margins
34 set lmargin at screen 0.10
35 set rmargin at screen 0.90
36
37
38
39 # Collection space plot (1)
40 ##############################################################################
41 set bmargin at screen 0.62
42 set tmargin at screen 0.96
43
44 # Reference
45 set key reverse Left left top box horizontal
46
47 # Labels
48 set ylabel "Space (KiB)"   offset 1.5,0
49 set y2label "Collections"  offset 2.5,0
50 set label 2 "After Collection"  at graph 0.01,0.03 left
51 set label 3 "Before Collection" at graph 0.01,0.93 left
52
53 # Plot
54 plot '@@INC@@' \
55            using 1:(($5+$6+$7+$8)/1024) title 'Overhead' with boxes @black, \
56         '' using 1:(($5+$6+$7)/1024)    title 'Wasted'   with boxes @lgray, \
57         '' using 1:(($5+$6)/1024)       title 'Free'     with boxes @dgray, \
58         '' using 1:($5/1024)            title 'Used'     with boxes @white, \
59         '' using 1:((-$9-$10-$11-$12)/1024) notitle      with boxes @black, \
60         '' using 1:((-$9-$10-$11)/1024)     notitle      with boxes @lgray, \
61         '' using 1:((-$9-$10)/1024)         notitle      with boxes @dgray, \
62         '' using 1:(-$9/1024)               notitle      with boxes @white
63
64
65
66 # Collection time plot (2)
67 ##############################################################################
68 set bmargin at screen 0.42
69 set tmargin at screen 0.62
70
71 # Labels
72 set ylabel "Time (seconds)"
73 set y2label "Collections"
74 unset label 1
75 unset label 2
76 unset label 3
77
78 # Tics
79 set xtics format ""
80
81 # Plot
82 plot '@@INC@@' \
83            using 1:2 title 'Malloc'        with boxes @black, \
84         '' using 1:3 title 'Collect'       with boxes @dgray, \
85         '' using 1:4 title 'Stop the Word' with boxes @white
86
87
88
89 # Allocation size/time plot (3)
90 ##############################################################################
91 set bmargin at screen 0.22
92 set tmargin at screen 0.42
93
94 # Labels
95 set ylabel  "Allocation Size (KiB)"
96 set y2label "Allocation Time (seconds)"  offset -1.5,0
97 set xlabel  "Program Run Time (seconds)" offset 0,0.4
98
99 # Tics
100 unset xtics
101 set xtics format "% g"
102 set ytics nomirror
103 set y2tics
104
105 # Plot
106 plot '@@INA@@' \
107            using 1:($3/1024) title 'Size' with points @black, \
108         '' using 1:2         title 'Time' with points @dgray axes x1y2
109
110
111
112 # Allocation histogram plot (4)
113 ##############################################################################
114 set bmargin at screen 0.04
115 set tmargin at screen 0.18
116
117 # Histogram settings
118 set style data histograms
119 set style histogram rowstacked
120 set style fill solid 1.0 border -1
121 set boxwidth 0.75
122
123 # Reference
124 set key left at graph 0,1.085
125
126 # Labels
127 set ylabel  "Number of Allocations" offset 1.6,0
128 set y2label "Allocation Histogram"  offset 2.5,0
129 set xlabel "Size (bytes)" offset screen -0.45,screen 0.02
130
131 # Tics
132 unset xtics
133 unset y2tics
134 unset ymtics
135 unset y2mtics
136 set xtics scale 0 rotate by -45 (@@TICS@@) font "Helvetica,13"
137 set ytics mirror
138 set grid ytics noxtics back
139
140 # Plot
141 plot '@@INH@@' \
142            using 2 title column @dgray, \
143         '' using 3 title column @lgray
144