Message ID | 20181211224659.29876-4-leonardo.sandoval.gonzalez@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | benchtests: keep comparing in case of missing fields | expand |
On 12/12/18 4:16 AM, leonardo.sandoval.gonzalez@linux.intel.com wrote: > From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> > > Non-consumable data, alias data not related to benchmarks, should be sent to > the standard error, thus pipelines can work as expected. > > * benchtests/scripts/compare_bench.py (do_compare): write to stderr in case > stat is not present. > * benchtests/scripts/compare_bench.py (plot_graphs): write to stderr in case > timings field is not present. Also string showing the output filename goes > into the stderr. Looks OK. Thanks, Siddhesh > --- > benchtests/scripts/compare_bench.py | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/benchtests/scripts/compare_bench.py b/benchtests/scripts/compare_bench.py > index f0c9bf7a7d..eaddc57e4e 100755 > --- a/benchtests/scripts/compare_bench.py > +++ b/benchtests/scripts/compare_bench.py > @@ -47,6 +47,7 @@ def do_compare(func, var, tl1, tl2, par, threshold): > v2 = tl2[str(par)] > d = abs(v2 - v1) * 100 / v1 > except KeyError: > + sys.stderr.write('%s(%s)[%s]: stat does not exist\n' % (func, var, par)) > return > except ZeroDivisionError: > return > @@ -85,7 +86,7 @@ def compare_runs(pts1, pts2, threshold, stats): > # timing info for the function variant. > if 'timings' not in pts1['functions'][func][var].keys() or \ > 'timings' not in pts2['functions'][func][var].keys(): > - continue > + continue > > # If two lists do not have the same length then it is likely that > # the performance characteristics of the function have changed. > @@ -133,7 +134,7 @@ def plot_graphs(bench1, bench2): > # No point trying to print a graph if there are no detailed > # timings. > if u'timings' not in bench1['functions'][func][var].keys(): > - print('Skipping graph for %s(%s)' % (func, var)) > + sys.stderr.write('Skipping graph for %s(%s)\n' % (func, var)) > continue > > pylab.clf() > @@ -157,7 +158,7 @@ def plot_graphs(bench1, bench2): > filename = "%s-%s.png" % (func, var) > else: > filename = "%s.png" % func > - print('Writing out %s' % filename) > + sys.stderr.write('Writing out %s' % filename) > pylab.savefig(filename) > > def main(bench1, bench2, schema, threshold, stats): >
diff --git a/benchtests/scripts/compare_bench.py b/benchtests/scripts/compare_bench.py index f0c9bf7a7d..eaddc57e4e 100755 --- a/benchtests/scripts/compare_bench.py +++ b/benchtests/scripts/compare_bench.py @@ -47,6 +47,7 @@ def do_compare(func, var, tl1, tl2, par, threshold): v2 = tl2[str(par)] d = abs(v2 - v1) * 100 / v1 except KeyError: + sys.stderr.write('%s(%s)[%s]: stat does not exist\n' % (func, var, par)) return except ZeroDivisionError: return @@ -85,7 +86,7 @@ def compare_runs(pts1, pts2, threshold, stats): # timing info for the function variant. if 'timings' not in pts1['functions'][func][var].keys() or \ 'timings' not in pts2['functions'][func][var].keys(): - continue + continue # If two lists do not have the same length then it is likely that # the performance characteristics of the function have changed. @@ -133,7 +134,7 @@ def plot_graphs(bench1, bench2): # No point trying to print a graph if there are no detailed # timings. if u'timings' not in bench1['functions'][func][var].keys(): - print('Skipping graph for %s(%s)' % (func, var)) + sys.stderr.write('Skipping graph for %s(%s)\n' % (func, var)) continue pylab.clf() @@ -157,7 +158,7 @@ def plot_graphs(bench1, bench2): filename = "%s-%s.png" % (func, var) else: filename = "%s.png" % func - print('Writing out %s' % filename) + sys.stderr.write('Writing out %s' % filename) pylab.savefig(filename) def main(bench1, bench2, schema, threshold, stats):
From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Non-consumable data, alias data not related to benchmarks, should be sent to the standard error, thus pipelines can work as expected. * benchtests/scripts/compare_bench.py (do_compare): write to stderr in case stat is not present. * benchtests/scripts/compare_bench.py (plot_graphs): write to stderr in case timings field is not present. Also string showing the output filename goes into the stderr. --- benchtests/scripts/compare_bench.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)