From 5a908690888395010b8a6615bc6ee3185920f2dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20B=2E=20Brandenburg?= Date: Wed, 7 Apr 2010 15:30:12 -0400 Subject: ospert'10 schedulablility style update --- plot.py | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'plot.py') diff --git a/plot.py b/plot.py index 426b77c..6acd1ea 100755 --- a/plot.py +++ b/plot.py @@ -11,6 +11,7 @@ options = [ choices=FORMATS, help='output format'), o(None, '--paper', action='store_true', dest='paper'), o(None, '--wide', action='store_true', dest='wide'), + o(None, '--column', action='store_true', dest='column'), o(None, '--split', action='store_true', dest='split'), ] @@ -26,6 +27,7 @@ defaults = { 'paper' : False, 'split' : False, 'wide' : False, + 'column' : False, } def decode(name): @@ -117,6 +119,27 @@ class SchedPlotter(defapp.App): term_opts=tops, **xtra) +# width = 3.4in +# height = 2.0in + + def plot_column(self, graphs, title, name, conf, **xtra): + scale = 1.0 + tops = 'color solid font "Helvetica,8" linewidth 1.0 ' \ + 'rounded size %.1fin,%.1fin' % (scale * 7.0, scale * 2.0) + gnuplot(graphs, title=title, + xlabel=self.options.xlabel, + ylabel=self.options.ylabel + + (' [soft]' if 'soft' in conf else ' [hard]'), + xrange=self.options.xrange, + yrange=self.options.yrange, + xticks=self.options.xticks, + yticks=self.options.yticks, + format=self.options.format, + fname=name, + key='right bottom' if '250' in conf else 'right top', + term_opts=tops) + + def plot_paper(self, graphs, title, name, conf, **xtra): tops = 'color solid font "Helvetica,10" linewidth 1.0 rounded size 16cm,8.5cm' gnuplot(graphs, title=title, @@ -283,9 +306,9 @@ class SchedPlotter(defapp.App): (tmpfile, 1, 9, 'P-EDF'), ] - self.options.xrange = (-5, 1005) - self.options.xticks = (0, 50) - self.options.xlabel = "preemption/migration overhead (in us)" + self.options.xrange = (-5, 5005) + self.options.xticks = (0, 250) + self.options.xlabel = "cache-related preemption/migration delay (in us)" for (tag, gs) in [('cumulative', graphs), ('weighted', graphs_w)]: xname = name + '_' + tag self.options.ylabel = tag + ' schedulability' @@ -293,6 +316,8 @@ class SchedPlotter(defapp.App): self.plot_paper(gs, title, xname, conf) elif self.options.wide and self.options.format == 'pdf': self.plot_wide(gs, title, xname, conf) + elif self.options.column and self.options.format == 'pdf': + self.plot_column(gs, title, xname, conf) else: self.plot(gs, title, xname, conf) -- cgit v1.2.2