def graph_1_test(title, metric, plot_data, line_argname, lines, kernel_legend, relative, size, dark=False): # generate graph image for one benchmark, showing avg and # std dev of one metric, over various kernels (X columns), # over various platforms or antagonists etc (graphed lines) xlegend = kernel_legend ylegend = metric.capitalize() if relative: ylegend += ', Relative' ymin = 0.8 else: ymin = None if len(lines) > 1: keytitle = line_argname.capitalize() + ':' else: keytitle = '' graph = plotgraph.gnuplot(title, xlegend, ylegend, size=size, xsort=perf.sort_kernels, keytitle=keytitle) for line in lines: label = line if not label and line_argname == 'antag': label = 'no antag' graph.add_dataset(label, plot_data[line]) graph.plot(cgi_header=True, ymin=ymin, dark=dark)
def graph_variants_all_tests(title, plot_data, linekeys, size, dark): # generate graph image showing all benchmarks # on one platform and one kernel, # over various combos of test run attribute constraints (lines). xlegend = "Benchmark" ylegend = "Relative Perf" graph = plotgraph.gnuplot(title, xlegend, ylegend, size=size) for i in linekeys: graph.add_dataset(linekeys[i], plot_data[i]) graph.plot(cgi_header=True, dark=dark, ymin=0.8)
def graph_1_test(test, metric, size): # generate graph image for one benchmark, showing avg and # std dev of one metric, over various kernels (X columns) # and various platform types (graphed lines) title = test.capitalize() + suite_notes if regress: title += ', Regressions Only' if relative: ylegend = 'Relative ' ymin = 0.9 else: ylegend = '' ymin = None ylegend += metric.capitalize() graph = plotgraph.gnuplot(title, kernel_legend, ylegend, size=size, xsort=sort_kernels) for platform in platforms: graph.add_dataset(platform, plot_data[platform]) graph.plot(cgi_header=True, ymin=ymin, dark=dark)