From 081b78fc197a4c786ba2f28920062369d30a69af Mon Sep 17 00:00:00 2001 From: John Wickerson Date: Wed, 14 Apr 2021 13:36:37 +0000 Subject: Update on Overleaf. --- evaluation.tex | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) (limited to 'evaluation.tex') diff --git a/evaluation.tex b/evaluation.tex index c466edf..713a0a9 100644 --- a/evaluation.tex +++ b/evaluation.tex @@ -30,11 +30,11 @@ We configured \polybench{}'s parameters so that only integer types are used, sin \definecolor{vericertcol}{HTML}{66C2A5} \definecolor{legupnooptcol}{HTML}{FC8D62} \definecolor{legupnooptnochaincol}{HTML}{8DA0CB} +\newcommand\backgroundbar[2][5]{\draw[draw=none, fill=black!#1] (axis cs:#2*2+0.5,0.1) rectangle (axis cs:1+#2*2+0.5,300);} + \begin{figure}\centering \begin{tikzpicture} - \newcommand\backgroundbar[2][5]{\draw[draw=none, fill=black!#1] (axis cs:#2,0.1) rectangle (axis cs:1+#2,300);} - \begin{groupplot}[ group style={ group name=my plots, @@ -61,10 +61,9 @@ We configured \polybench{}'s parameters so that only integer types are used, sin ] \nextgroupplot[ymin=0.8,ymax=300,ylabel={Execution time relative to \legup{}}] - % JW: sorry about the lack of loop below. \pgfplotsinvokeforeach is supposed to work but overleaf compilation hangs. - % oh, I had actually just tried to solve it, and this worked on mine: \pgfplotsinvokeforeach{0,...,13}{\draw[draw=none, fill=black!10] (axis cs:#1*2+0.5,0.01) rectangle (axis cs:#1*2+1.5,300);} (Locally though) - \pgfplotsinvokeforeach{0,...,13}{\draw[draw=none, fill=black!5] (axis cs:#1*2+0.5,0.01) rectangle (axis cs:#1*2+1.5,300);} - \backgroundbar[10]{24.5} + \pgfplotsinvokeforeach{0,...,11}{% + \backgroundbar{#1}} + \backgroundbar[10]{12} \addplot+[vericertcol] table [x expr=\coordindex,y=vericert,col sep=comma] from \divtimingtable; \addplot+[legupnooptcol] table [x expr=\coordindex,y=legup noopt nochain,col sep=comma] from \divtimingtable; \addplot+[legupnooptnochaincol] table [x expr=\coordindex,y=legup noopt,col sep=comma] from \divtimingtable; @@ -73,8 +72,9 @@ We configured \polybench{}'s parameters so that only integer types are used, sin \draw (axis cs:-0.5,0.8) rectangle (axis cs:25.5,300); \nextgroupplot[ymin=0.3,ymax=10,ylabel={Area relative to \legup{}}] - \pgfplotsinvokeforeach{0,...,13}{\draw[draw=none, fill=black!5] (axis cs:#1*2+0.5,0.01) rectangle (axis cs:#1*2+1.5,300);} - \backgroundbar[10]{24.5} + \pgfplotsinvokeforeach{0,...,11}{% + \backgroundbar{#1}} + \backgroundbar[10]{12} \addplot+[vericertcol] table [x expr=\coordindex,y=vericert,col sep=comma] from \divslicetable; \addplot+[legupnooptcol] table [x expr=\coordindex,y=legup noopt nochain,col sep=comma] from \divslicetable; \addplot+[legupnooptnochaincol] table [x expr=\coordindex,y=legup noopt,col sep=comma] from \divslicetable; @@ -82,7 +82,7 @@ We configured \polybench{}'s parameters so that only integer types are used, sin % JW: redraw axis border which has been partially covered by the grey bars \draw (axis cs:-0.5,0.3) rectangle (axis cs:25.5,10); - \legend{\vericert{},\legup{} w/o opt/chain,\legup{} w/o opt}; + \legend{\vericert{},\legup{} w/o opt+chain,\legup{} w/o opt}; \end{groupplot} \end{tikzpicture} \caption{\polybench{} with division enabled.} @@ -119,23 +119,27 @@ We configured \polybench{}'s parameters so that only integer types are used, sin xtick style={draw=none}, ] - \nextgroupplot[ylabel={Relative execution time to \legup{}}] - \pgfplotsinvokeforeach{0,...,13}{\draw[draw=none, fill=black!5] (axis cs:#1*2+0.5,0.01) rectangle (axis cs:#1*2+1.5,300);} + \nextgroupplot[ymin=0.3,ymax=10,ylabel={Execution time relative to \legup{}}] + \pgfplotsinvokeforeach{-0.5,0.5,...,11.5}{% + \backgroundbar{#1}} + \backgroundbar[10]{12.5} \addplot+[vericertcol] table [x expr=\coordindex,y=vericert,col sep=comma] from \nodivtimingtable; \addplot+[legupnooptcol] table [x expr=\coordindex,y=legup noopt nochain,col sep=comma] from \nodivtimingtable; \addplot+[legupnooptnochaincol] table [x expr=\coordindex,y=legup noopt,col sep=comma] from \nodivtimingtable; - \draw (axis cs:-1,1) -- (axis cs:26,1); + \draw (axis cs:-1,1) -- (axis cs:26.5,1); \draw (axis cs:-0.5,0.3) rectangle (axis cs:26.5,10); - \nextgroupplot[ylabel={Relative area to \legup{}}] - \pgfplotsinvokeforeach{0,...,13}{\draw[draw=none, fill=black!5] (axis cs:#1*2+0.5,0.01) rectangle (axis cs:#1*2+1.5,300);} + \nextgroupplot[ymin=0.3,ymax=4,ylabel={Area relative to \legup{}}] + \pgfplotsinvokeforeach{-0.5,0.5,...,11.5}{% + \backgroundbar{#1}} + \backgroundbar[10]{12.5} \addplot+[vericertcol] table [x expr=\coordindex,y=vericert,col sep=comma] from \nodivslicetable; \addplot+[legupnooptcol] table [x expr=\coordindex,y=legup noopt nochain,col sep=comma] from \nodivslicetable; \addplot+[legupnooptnochaincol] table [x expr=\coordindex,y=legup noopt,col sep=comma] from \nodivslicetable; - \draw (axis cs:-1,1) -- (axis cs:26,1); - \draw (axis cs:-0.5,0.3) rectangle (axis cs:26.5,10); + \draw (axis cs:-1,1) -- (axis cs:26.5,1); + \draw (axis cs:-0.5,0.3) rectangle (axis cs:26.5,4); - \legend{\vericert{},\legup{} w/o opt/chain,\legup{} w/o opt}; + \legend{\vericert{},\legup{} w/o opt+chain,\legup{} w/o opt}; \end{groupplot} \end{tikzpicture} \caption{\polybench{} with division replaced by iterative division algorithm.} -- cgit