]> git.llucax.com Git - software/dgc/dgcbench.git/blob - plot.gpi
Add a helper script to improve accuracy when benchmarking
[software/dgc/dgcbench.git] / plot.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 # Style
20 set style fill solid noborder
21
22 # Data format
23 set datafile separator ','
24
25 # Margins
26 set lmargin at screen 0.10
27 set rmargin at screen 0.90
28
29
30
31 # Collection space (before) plot (1)
32 ##############################################################################
33 set bmargin at screen 0.79
34 set tmargin at screen 0.96
35
36 # Reference
37 set key reverse Left left top box horizontal
38
39 # Labels
40 set ylabel "Space (KiB)"        offset 1.5,graph -0.5
41 set y2label " BeforeCollection" offset 2.5,0
42
43 # Tics
44 set xtics offset 0,graph 1.1
45 set mxtics
46 set ytics mirror
47 set mytics
48 set autoscale xfixmax
49 set grid xtics ytics mxtics front lc rgb 'gray20'
50
51 # Plot
52 plot '@@INC@@' \
53            using 1:(($5+$6+$7+$8)/1024) title 'Overhead' with boxes @black, \
54         '' using 1:(($5+$6+$7)/1024)    title 'Wasted'   with boxes @lgray, \
55         '' using 1:(($5+$6)/1024)       title 'Free'     with boxes @dgray, \
56         '' using 1:($5/1024)            title 'Used'     with boxes @white
57
58
59
60 # Collection space (after) plot (2)
61 ##############################################################################
62 set bmargin at screen 0.62
63 set tmargin at screen 0.79
64
65 # Reference
66 unset key
67
68 # Labels
69 unset ylabel
70 set y2label "After Collection" offset 2.5,0
71
72 # Range
73 set yrange [] reverse
74 set y2range [] reverse
75
76 # Tics
77 set xtics format ""
78
79 # Plot
80 plot '@@INC@@' \
81            using 1:(($9+$10+$11+$12)/1024) notitle with boxes @black, \
82         '' using 1:(($9+$10+$11)/1024)     notitle with boxes @lgray, \
83         '' using 1:(($9+$10)/1024)         notitle with boxes @dgray, \
84         '' using 1:($9/1024)               notitle with boxes @white
85
86
87
88 # Collection time plot (3)
89 ##############################################################################
90 set bmargin at screen 0.42
91 set tmargin at screen 0.62
92
93 # Reference
94 set key reverse Left left top box horizontal
95
96 # Labels
97 set ylabel "Time (seconds)"
98 set y2label "Collections"
99 unset label 1
100 unset label 2
101 unset label 3
102
103 # Range
104 set yrange [] noreverse
105 set y2range [] noreverse
106
107 # Tics
108 set xtics format ""
109
110 # Plot
111 plot '@@INC@@' \
112            using 1:2 title 'Malloc'        with boxes @black, \
113         '' using 1:3 title 'Collect'       with boxes @dgray, \
114         '' using 1:4 title 'Stop the Word' with boxes @white
115
116
117
118 # Allocation size/time plot (4)
119 ##############################################################################
120 set bmargin at screen 0.22
121 set tmargin at screen 0.42
122
123 # Labels
124 set ylabel  "Allocation Size (KiB)"
125 set y2label "Allocation Time (seconds)"  offset -1.5,0
126 set xlabel  "Program Run Time (seconds)" offset 0,0.4
127
128 # Tics
129 unset xtics
130 set xtics format "% g"
131 set ytics nomirror
132 set y2tics
133
134 # Plot
135 plot '@@INA@@' \
136            using 1:($3/1024) title 'Size' with points @black, \
137         '' using 1:2         title 'Time' with points @dgray axes x1y2
138
139
140
141 # Allocation histogram plot (5)
142 ##############################################################################
143 set bmargin at screen 0.04
144 set tmargin at screen 0.18
145
146 # Histogram settings
147 set style data histograms
148 set style histogram rowstacked
149 set style fill solid 1.0 border -1
150 set boxwidth 0.75
151
152 # Reference
153 set key left at graph 0,1.085
154
155 # Labels
156 set ylabel  "Number of Allocations" offset 1.6,0
157 set y2label "Allocation Histogram"  offset 2.5,0
158 set xlabel "Size (bytes)" offset screen -0.45,screen 0.02
159
160 # Tics
161 unset xtics
162 unset y2tics
163 unset ymtics
164 unset y2mtics
165 set xtics scale 0 rotate by -45 (@@TICS@@) font "Helvetica,13"
166 set ytics mirror
167 set grid ytics noxtics back
168
169 # Plot
170 plot '@@INH@@' \
171            using 2 title column @dgray, \
172         '' using 3 title column @lgray
173