-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpaper_plot_speedup_bars.gp
More file actions
81 lines (68 loc) · 3.8 KB
/
paper_plot_speedup_bars.gp
File metadata and controls
81 lines (68 loc) · 3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
### Common styling
set title "Speedup compared to no-sort baseline" font ",24"
set ylabel "Average Speedup" font ",22"
set xlabel "Bloom Filter size (MiB)" font ",22"
set grid ytics
set key samplen 4 width -7 font ",19"
set tics font ",16"
set terminal pdfcairo size 6in,4in color enhanced font "Helvetica,11" linewidth 2 rounded
set yrange [0:6]
set bmargin 4
set key maxrows 4
# Bar styling
bw = 0.09
set boxwidth bw
set style fill solid border -1
set key opaque
set arrow 1 from graph 0, first 1 to graph 1, first 1 nohead dt 2
# Offsets so bars for each configuration don't overlap at the same x
o0 = -4*bw
o1 = -3*bw
o2 = -2*bw
o3 = -1*bw
o4 = 0*bw
o5 = 1*bw
o6 = 2*bw
o7 = 3*bw
# ---- Plot command (reuse it for both outputs) ----
# Path prefix (may be overridden via `gnuplot -c paper_plot_speedup_bars.gp PREFIX`)
prefix = "results/plots/final_variants/"
if (exists("ARGC") && ARGC >= 1) {
prefix = ARG1
}
# for the cpsbbf label
dx = -0.02
dy = 0.4
### Output 1: Small Bloom filters (4, 8, 16)
set title "Speedup compared to conventional BF baseline\nSmall bloom filters" font ",24"
set output "paper-speedup-bars-small.pdf"
set xrange [24.5:27.5]
set xtics ("4" 25, "8" 26, "16" 27)
plot \
prefix . "CustRangeMap--full-sort.dat" using ($1+o0):2:3 with boxerrorbars lc rgb "#009E73" fs solid 0.3 title "full-sort", \
prefix . "CustRangeMap--partial-lut-small-1-0.dat" using ($1+o1):2:3 with boxerrorbars lt 5 fs solid 0.4 title "partition-1", \
prefix . "LdsRangeMap--full-sort.dat" using ($1+o2):2:3 with boxerrorbars lt 6 fs solid 0.5 title "lds-full-sort", \
prefix . "LdsRangeMap--partial-lut-small-1-0.dat" using ($1+o3):2:3 with boxerrorbars lt 4 fs solid 0.6 title "lds-partition-1", \
prefix . "cpsbbf.dat" using ($1+o4):2:3 with boxerrorbars lt 7 fs solid 0.7 title "cpsbbf", \
prefix . "cpsbbf.dat" using ($1+o4+dx):($2+$3+dy):(stringcolumn(5)) with labels rotate by 90 center font ",16" notitle, \
prefix . "CustRangeMap--no-sort-16.0-sbbf.dat" using ($1+o5):2:3 with boxerrorbars lt 1 fs solid 0.8 title "sbbf *", \
prefix . "CustRangeMap--no-sort-16.0-cbf.dat" using ($1+o6):2:3 with boxerrorbars lt 2 fs solid 0.9 title "cbf *", \
prefix . "CustRangeMap--no-sort-16.0-pbf.dat" using ($1+o7):2:3 with boxerrorbars lt 3 fs solid 1 title "pbf *", \
unset output
### Output 2: Large Bloom filters (32, 64, 128)
set title "Speedup compared to conventional BF baseline\n Large bloom filters" font ",24"
set output "paper-speedup-bars-large.pdf"
set xrange [27.5:30.5]
set xtics ("32" 28, "64" 29, "128" 30)
plot \
prefix . "CustRangeMap--full-sort.dat" using ($1+o0):2:3 with boxerrorbars lc rgb "#009E73" fs solid 0.3 title "full-sort", \
prefix . "CustRangeMap--partial-lut-big-0-16.dat" using ($1+o1):2:3 with boxerrorbars lt 5 fs solid 0.4 title "partition-16", \
prefix . "LdsRangeMap--full-sort.dat" using ($1+o2):2:3 with boxerrorbars lt 6 fs solid 0.5 title "lds-full-sort", \
prefix . "LdsRangeMap--partial-lut-big-0-16.dat" using ($1+o3):2:3 with boxerrorbars lt 4 fs solid 0.6 title "lds-partition-16", \
prefix . "cpsbbf.dat" using ($1+o4):2:3 with boxerrorbars lt 7 fs solid 0.7 title "cpsbbf", \
prefix . "cpsbbf.dat" using ($1+o4+dx):($2+$3+dy):(stringcolumn(5)) with labels rotate by 90 center font ",16" notitle, \
prefix . "CustRangeMap--no-sort-16.0-sbbf.dat" using ($1+o5):2:3 with boxerrorbars lt 1 fs solid 0.8 title "sbbf *", \
prefix . "CustRangeMap--no-sort-16.0-cbf.dat" using ($1+o6):2:3 with boxerrorbars lt 2 fs solid 0.9 title "cbf *", \
prefix . "CustRangeMap--no-sort-16.0-pbf.dat" using ($1+o7):2:3 with boxerrorbars lt 3 fs solid 1 title "pbf *", \
unset output
print "generated: \n \t paper-speedup-bars-small.pdf\n \t paper-speedup-bars-large.pdf"