source: doc/theses/mike_brooks_MMath/plots/string-allocn.gp@ 810c2c5

Last change on this file since 810c2c5 was 810c2c5, checked in by Michael Brooks <mlbrooks@…>, 4 days ago

address two string-section oustanding items: remove confusing sentences; add attribution plot overlay for separate compilation overhead

  • Property mode set to 100644
File size: 8.5 KB
Line 
1set terminal pdf color enhanced size 6.0in,4.0in font "Times,17"
2#set terminal postscript portrait enhanced size 7.5, 10. color solid 9.5;
3#set terminal wxt size 950,1250
4
5INDIR="build"
6OUTDIR="build"
7SRCDIR="plots"
8
9SCALE=1024
10
11# common to all
12set macros
13set output OUTDIR."/plot-string-allocn.pdf"
14set multiplot layout 1, 2 ;
15set grid
16
17
18#
19# CFA multisize
20#
21
22#set errorbars dashtype '.'
23
24set logscale x 2
25set xlabel "Heap Used (B)"
26set logscale y 10
27set key outside top center
28
29set ylabel "Duration (ns)" offset 2,0
30set yrange[40:150]
31set ytics add (40, 50, 60, 70, 80, 90, 110, 120, 130, 140, 150)
32
33set xrange[32:8192]
34set xtics rotate by -90
35set xtics ("" 32, "64 k" 64, "" 128, "256 k" 256, "" 512, "1 M" 1024, "" 2048, "4 M" 4096)
36
37# First each curve, then each default-expansion point
38plot INDIR."/plot-string-allocn.dat" \
39 i 0 using ($5/SCALE):2 notitle with lines lt rgb "blue" dt '.' lw 2, \
40 '' i 1 using ($5/SCALE):2 notitle with lines lt rgb "red" dt '.' lw 2, \
41 '' i 2 using ($5/SCALE):2 notitle with lines lt rgb "brown" dt '.' lw 2, \
42 '' i 3 using ($5/SCALE):2 title "tuning contour" with lines lt rgb "black" dt '.' lw 2, \
43 '' i 4 using ($5/SCALE):2 notitle with lines lt rgb "magenta" dt '.' lw 2, \
44 '' i 0 using ($5/SCALE):2:3:4 notitle with yerrorbars lt rgb "blue" pt 7 ps 0.25 lw 1, \
45 '' i 1 using ($5/SCALE):2:3:4 notitle with yerrorbars lt rgb "red" pt 7 ps 0.25 lw 1, \
46 '' i 2 using ($5/SCALE):2:3:4 notitle with yerrorbars lt rgb "brown" pt 7 ps 0.25 lw 1, \
47 '' i 3 using ($5/SCALE):2:3:4 notitle with yerrorbars lt rgb "black" pt 7 ps 0.25 lw 1, \
48 '' i 4 using ($5/SCALE):2:3:4 notitle with yerrorbars lt rgb "magenta" pt 7 ps 0.25 lw 1, \
49 '' i 0 using ( ($8 == 1) ? ($5/SCALE) : 1/0 ):2 notitle with points lt rgb "blue" pt 66 ps 2, \
50 '' i 1 using ( ($8 == 1) ? ($5/SCALE) : 1/0 ):2 notitle with points lt rgb "red" pt 66 ps 2, \
51 '' i 2 using ( ($8 == 1) ? ($5/SCALE) : 1/0 ):2 notitle with points lt rgb "brown" pt 66 ps 2, \
52 '' i 3 using ( ($8 == 1) ? ($5/SCALE) : 1/0 ):2 title "default tuning" \
53 with points lt rgb "black" pt 66 ps 2, \
54 '' i 4 using ( ($8 == 1) ? ($5/SCALE) : 1/0 ):2 notitle with points lt rgb "magenta" pt 66 ps 2, \
55 '' i 0 using ($5/SCALE):2:("{/Times=15 len-\n20") every ::1::1 with labels left offset 0.75,0.25 textcolor rgb "blue" notitle, \
56 '' i 1 using ($5/SCALE):2:("{/Times=15 len-\n50") every ::5::5 with labels right offset -0.6 ,1.5 textcolor rgb "red" notitle, \
57 '' i 2 using ($5/SCALE):2:("{/Times=15 len-\n100") every ::4::4 with labels right offset -0.75,0.5 textcolor rgb "brown" notitle, \
58 '' i 3 using ($5/SCALE):2:("{/Times=15 len-\n200") every ::4::4 with labels right offset -0.75,1.25 textcolor rgb "black" notitle, \
59 '' i 4 using ($5/SCALE):2:("{/Times=15 len-\n500") every ::4::4 with labels right offset -0.75,0.25 textcolor rgb "magenta" notitle, \
60 '' i 5 using ($5/SCALE) :2 notitle with lines lt rgb "#BF007F7F" lw 8, \
61 '' i 6 using ($5/SCALE) :2 notitle with lines lt rgb "#BF007F7F" lw 8, \
62 '' i 7 using ($5/SCALE) :2 notitle with lines lt rgb "#BF007F7F" lw 8, \
63 '' i 8 using ($5/SCALE) :2 title "tradeoff" with lines lt rgb "#BF007F7F" lw 8, \
64 '' i 9 using ($5/SCALE) :2 notitle with lines lt rgb "#BF007F7F" lw 8, \
65 '' i 5 using ( (strcol(8) eq "stl") ? ($5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "#00007F7F" pt 6 ps 0.5 lw 2 , \
66 '' i 6 using ( (strcol(8) eq "stl") ? ($5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "#00007F7F" pt 6 ps 0.5 lw 2 , \
67 '' i 7 using ( (strcol(8) eq "stl") ? ($5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "#00007F7F" pt 6 ps 0.5 lw 2 , \
68 '' i 8 using ( (strcol(8) eq "stl") ? ($5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "#00007F7F" pt 6 ps 0.5 lw 2 , \
69 '' i 9 using ( (strcol(8) eq "stl") ? ($5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "#00007F7F" pt 6 ps 0.5 lw 2
70
71
72unset ylabel
73unset xlabel
74
75unset xtics
76unset ytics
77unset yrange
78unset xrange
79
80unset logscale
81unset xlabel
82unset mxtics
83
84#
85# Attribution
86#
87
88set key outside top center vertical maxrows 3
89
90set logscale x 2
91#set mxtics 3 # 3 steps within each doubling (e.g. 3 steps of of 32 between 32 and 128 => tick on 32s in there)
92
93set yrange[0:105]
94set ytics auto
95
96set xrange[2.0e4:3e7]
97# set xtics rotate by -90
98# set xtics ("" 32, "64 k" 64, "" 128, "256 k" 256, "" 512, "1 M" 1024, "" 2048, "4 M" 4096)
99
100set style fill solid 1.0
101
102BAR_RELWD = 0.5
103BAR_XSHIFT = (1+BAR_RELWD)**(-0.55)
104LEN_X_SEP = 1.7
105
106# get segment draw order (front to back) from metadata file
107meta = system('cat '.SRCDIR.'/string-allocn-attrib-meta.dat')
108STATS_words = words(meta)
109array STATS_word[STATS_words]
110do for [i=1:STATS_words] {
111 STATS_word[i] = word(meta, i)
112}
113
114# bonus legend of black box = sepcomp overhead
115set object rect from graph 0.05, graph 0.92 to graph 0.11, graph 0.935 fc rgb "black"
116set label "sep. comp.\noverhead" at graph 0.14, graph 0.935 left font "Times,15"
117
118pattern(i) = \
119 (i==1 ? 1 : \
120 i==2 ? 4 : \
121 i==3 ? 2 : \
122 i==4 ? 6 : \
123 i==5 ? 3 : \
124 i==6 ? 5 : \
125 1)
126
127plot \
128 for [i=STATS_words:1:-1] \
129 INDIR.'/plot-string-allocn-attrib.dat' \
130 using (stringcolumn("category") eq STATS_word[i] ? (BAR_XSHIFT*$1**LEN_X_SEP*$3/SCALE) : 1/0): \
131 (stringcolumn("category") eq STATS_word[i] ? ($5 + $8) : 1/0): \
132 (stringcolumn("category") eq STATS_word[i] ? (BAR_RELWD*(BAR_XSHIFT*$1**LEN_X_SEP*$3/SCALE)) : 1/0) \
133 with boxes ls i fs pattern pattern(i) title STATS_word[i], \
134 INDIR.'/plot-string-allocn-attrib-sepcmp.dat' \
135 using (BAR_XSHIFT*$1**LEN_X_SEP*$3/SCALE*0.75): \
136 (($8+$10)/2): \
137 (BAR_RELWD*(BAR_XSHIFT*$1**LEN_X_SEP*$3/SCALE)/4): \
138 ($9/2) \
139 notitle \
140 with boxxyerrorbars lt rgb "black", \
141 INDIR."/plot-string-allocn.dat" \
142 i 1 using (50 **LEN_X_SEP*$5/SCALE):2 notitle with lines lt rgb "red" dt '.' lw 2, \
143 '' i 3 using (200**LEN_X_SEP*$5/SCALE):2 notitle with lines lt rgb "black" dt '.' lw 2, \
144 '' i 1 using ( ($8 == 1) ? (50 **LEN_X_SEP*$5/SCALE) : 1/0 ):2 notitle with points lt rgb "red" pt 66 ps 2, \
145 '' i 3 using ( ($8 == 1) ? (200**LEN_X_SEP*$5/SCALE) : 1/0 ):2 notitle with points lt rgb "black" pt 66 ps 2, \
146 '' i 1 using ( ($8 == 1) ? (50 **LEN_X_SEP*$5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "red" pt 7 ps 0.25 lw 1, \
147 '' i 3 using ( ($8 == 1) ? (200**LEN_X_SEP*$5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "black" pt 7 ps 0.25 lw 1, \
148 '' i 1 using (50 **LEN_X_SEP*$5/SCALE):2:("{/Times=15 len-\n50") every ::5::5 with labels right offset -0.6 ,1.5 textcolor rgb "red" notitle, \
149 '' i 3 using (200**LEN_X_SEP*$5/SCALE):2:("{/Times=15 len-\n200") every ::4::4 with labels right offset -0.75,1.25 textcolor rgb "black" notitle, \
150 '' i 6 using (50 **LEN_X_SEP*$5/SCALE) :2 notitle with lines lt rgb "#BF007F7F" lw 8, \
151 '' i 8 using (200**LEN_X_SEP*$5/SCALE) :2 notitle with lines lt rgb "#BF007F7F" lw 8, \
152 '' i 6 using ( (strcol(8) eq "stl") ? (50 **LEN_X_SEP*$5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "#00007F7F" pt 6 ps 0.5 lw 2 , \
153 '' i 8 using ( (strcol(8) eq "stl") ? (200**LEN_X_SEP*$5/SCALE) : 1/0 ):2:3:4 notitle with yerrorbars lt rgb "#00007F7F" pt 6 ps 0.5 lw 2
154
155
156# i 6 using ($5/SCALE) :2:(BAR_RELWD*($5/SCALE)) notitle with boxes lt rgb "grey" , \
157# '' i 8 using ($5/SCALE) :2:(BAR_RELWD*($5/SCALE)) notitle with boxes lt rgb "grey" , \
158# '' i 6 using ($5/SCALE) :($2-40):(BAR_RELWD*($5/SCALE)) notitle with boxes lt rgb "blue", \
159# '' i 8 using ($5/SCALE) :($2-40):(BAR_RELWD*($5/SCALE)) notitle with boxes lt rgb "blue", \
Note: See TracBrowser for help on using the repository browser.