plot titles
This commit is contained in:
parent
752055866f
commit
b9a57aa2e8
3 changed files with 54 additions and 47 deletions
49
plots.py
49
plots.py
|
|
@ -77,6 +77,9 @@ def gnuplot_histogram(**kwargs):
|
|||
kwargs["machine"] = ", " + kwargs["machine"]
|
||||
else:
|
||||
kwargs["machine"] = ""
|
||||
titleline = ""
|
||||
if kwargs["maketitle"]:
|
||||
titleline = 'set title font "CMU Sans Serif,12" "{object_title} by {criterion_title} ({record}, {side}{machine}) ({unit})"'.format(**kwargs)
|
||||
cluster = ""
|
||||
for i in range(kwargs["nb_impls"]-1):
|
||||
cluster += """, "" using {}:xticlabels(1) title col""".format(i+4)
|
||||
|
|
@ -88,7 +91,7 @@ set boxwidth 0.9 absolute
|
|||
set style fill solid 1.0 border lt -1
|
||||
set style histogram clustered gap 1 title textcolor lt -1
|
||||
set style data histograms
|
||||
set title font "CMU Sans Serif,12" "{object_title} by {criterion_title} ({record}, {side}{machine}) ({unit})"
|
||||
{titleline}
|
||||
#set xtics border in scale 0,0 nomirror rotate by -45 autojustify
|
||||
set xtics border in scale 0,0 nomirror autojustify
|
||||
#set key fixed right top vertical Right noreverse noenhanced autotitle nobox
|
||||
|
|
@ -103,7 +106,7 @@ plot \
|
|||
set term cairolatex pdf
|
||||
set output "{plots_dir}/{object}_by_{criterion}_{side}_{record}.tex"
|
||||
replot
|
||||
""".format(plots_dir=PLOTS_DIR, cluster=cluster, **kwargs))
|
||||
""".format(plots_dir=PLOTS_DIR, cluster=cluster, titleline=titleline, **kwargs))
|
||||
f.close()
|
||||
os.system("gnuplot {plots_dir}/{object}_by_{criterion}_{side}_{record}.gnuplot".format(plots_dir=PLOTS_DIR, **kwargs))
|
||||
|
||||
|
|
@ -112,6 +115,8 @@ def gnuplot_stacked_histogram(**kwargs):
|
|||
kwargs["machine"] = ", " + kwargs["machine"]
|
||||
else:
|
||||
kwargs["machine"] = ""
|
||||
if kwargs["maketitle"]:
|
||||
titleline = 'set title font "CMU Sans Serif,12" "{object_title} by {criterion_title} ({record}, {side}{machine}) ({unit})"'.format(**kwargs)
|
||||
cluster = ""
|
||||
#for i in range(kwargs["nb_impls"]-1):
|
||||
# cluster += """, "" using {}:xticlabels(1) title col""".format(i+4)
|
||||
|
|
@ -123,7 +128,7 @@ set boxwidth 0.9 absolute
|
|||
set style fill solid 1.0 border lt -1
|
||||
set style histogram rowstacked
|
||||
set style data histograms
|
||||
set title font "CMU Sans Serif,12" "{object_title} by {criterion_title} ({record}, {side}{machine}) ({unit})"
|
||||
{titleline}
|
||||
set xtics border in scale 0,0 nomirror noenhanced rotate by 30 right
|
||||
set lmargin 9
|
||||
set rmargin 1
|
||||
|
|
@ -140,11 +145,11 @@ set term pict2e font ",10"
|
|||
set output "{plots_dir}/{object}_by_{criterion}_{side}_{record}.tex"
|
||||
set key font ",10" spacing 0.8
|
||||
replot
|
||||
""".format(plots_dir=PLOTS_DIR, cluster=cluster, **kwargs).replace("aws_lc", "aws-lc"))
|
||||
""".format(plots_dir=PLOTS_DIR, cluster=cluster, titleline=titleline, **kwargs).replace("aws_lc", "aws-lc"))
|
||||
f.close()
|
||||
os.system("gnuplot {plots_dir}/{object}_by_{criterion}_{side}_{record}.gnuplot".format(plots_dir=PLOTS_DIR, **kwargs))
|
||||
|
||||
def make_log_plot(logs, exp, criterion, side, obj, record, machine=None, version=None):
|
||||
def make_log_plot(logs, exp, criterion, side, obj, record, machine=None, version=None, maketitle=True):
|
||||
f = open(f"/dev/shm/plots/{obj}_by_{criterion}_{side}_{record}.dat", "w")
|
||||
ciphers = {}
|
||||
impls = []
|
||||
|
|
@ -208,10 +213,11 @@ def make_log_plot(logs, exp, criterion, side, obj, record, machine=None, version
|
|||
unit=UNIT[obj],
|
||||
nb_impls=len(impls),
|
||||
record=record,
|
||||
machine=machine
|
||||
machine=machine,
|
||||
maketitle=maketitle
|
||||
)
|
||||
|
||||
def make_profile_plot(logs, exp, criterion, side, record, no_flamegraph=False, machine=None):
|
||||
def make_profile_plot(logs, exp, criterion, side, record, no_flamegraph=False, machine=None, maketitle=False):
|
||||
f = open(f"/dev/shm/plots/profile_by_{criterion}_{side}_{record}.dat", "w")
|
||||
runs = []
|
||||
functions = []
|
||||
|
|
@ -264,7 +270,8 @@ def make_profile_plot(logs, exp, criterion, side, record, no_flamegraph=False, m
|
|||
unit=UNIT["profile"],
|
||||
record=record,
|
||||
nb_functions=len(functions)+1,
|
||||
machine=machine
|
||||
machine=machine,
|
||||
maketitle=maketitle
|
||||
)
|
||||
|
||||
# Are CPU and energy proportional
|
||||
|
|
@ -384,27 +391,27 @@ if __name__ == "__main__":
|
|||
os.makedirs("/dev/shm/plots", exist_ok=True)
|
||||
|
||||
no_flamegraph = "-f" in sys.argv
|
||||
|
||||
machine = getargv("-m", None)
|
||||
maketitle = "-t" not in sys.argv
|
||||
|
||||
if cmd == "log":
|
||||
cmp_versions(logs, ["impl-cipher-ver", "impl-cert-ver", "impl-kex-ver"], ["side", "cipher", "cert", "kex", "record"], ["cpu", "energy"])
|
||||
for side in ["client", "server"]:
|
||||
for record in records:
|
||||
make_log_plot(logs, "impl-cipher-ver", "cipher", side, "cpu", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "impl-cipher-ver", "cipher", side, "energy", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "impl-cert-ver", "cert", side, "cpu", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "impl-cert-ver", "cert", side, "energy", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "impl-kex-ver", "kex", side, "cpu", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "impl-kex-ver", "kex", side, "energy", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "zrtt", "ed", side, "cpu", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "zrtt", "ed", side, "energy", record, machine=machine, version="1.3")
|
||||
make_log_plot(logs, "impl-cipher-ver", "cipher", side, "cpu", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
make_log_plot(logs, "impl-cipher-ver", "cipher", side, "energy", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
make_log_plot(logs, "impl-cert-ver", "cert", side, "cpu", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
make_log_plot(logs, "impl-cert-ver", "cert", side, "energy", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
make_log_plot(logs, "impl-kex-ver", "kex", side, "cpu", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
make_log_plot(logs, "impl-kex-ver", "kex", side, "energy", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
make_log_plot(logs, "zrtt", "ed", side, "cpu", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
make_log_plot(logs, "zrtt", "ed", side, "energy", record, machine=machine, version="1.3", maketitle=maketitle)
|
||||
cmp_versions(logs, ["impl-cipher-ver", "impl-cert-ver", "impl-kex-ver"], ["side", "cipher", "cert", "kex", "record"], ["cpu", "energy"])
|
||||
elif cmd == "prof":
|
||||
for side in ["client-local", "server-local"]:
|
||||
for record in records:
|
||||
make_profile_plot(logs, "impl-cipher-ver", "cipher", side, record, no_flamegraph=no_flamegraph, machine=machine)
|
||||
make_profile_plot(logs, "impl-cert-ver", "cert", side, record, no_flamegraph=no_flamegraph, machine=machine)
|
||||
make_profile_plot(logs, "impl-kex-ver", "kex", side, record, no_flamegraph=no_flamegraph, machine=machine)
|
||||
make_profile_plot(logs, "impl-cipher-ver", "cipher", side, record, no_flamegraph=no_flamegraph, machine=machine, maketitle=maketitle)
|
||||
make_profile_plot(logs, "impl-cert-ver", "cert", side, record, no_flamegraph=no_flamegraph, machine=machine, maketitle=maketitle)
|
||||
make_profile_plot(logs, "impl-kex-ver", "kex", side, record, no_flamegraph=no_flamegraph, machine=machine, maketitle=maketitle)
|
||||
elif cmd == "correl":
|
||||
from scipy import stats
|
||||
import matplotlib.pyplot as plt
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue