From patchwork Tue May 29 17:17:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: leonardo.sandoval.gonzalez@linux.intel.com X-Patchwork-Id: 27542 Received: (qmail 3001 invoked by alias); 29 May 2018 17:17:54 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 2982 invoked by uid 89); 29 May 2018 17:17:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy= X-HELO: mga14.intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 From: leonardo.sandoval.gonzalez@linux.intel.com To: libc-alpha@sourceware.org Cc: Leonardo Sandoval Subject: [PATCH 1/2 v2] benchtests: Add --no-diff and --no-header options Date: Tue, 29 May 2018 12:17:46 -0500 Message-Id: <20180529171747.3667-1-leonardo.sandoval.gonzalez@linux.intel.com> From: Leonardo Sandoval Having a string comparison report with neither diff numbers nor header yields a more useful output to be consumed by other tools. * benchtests/scripts/compare_string.py: Add --no-diff and --no-header options to avoid diff calculation and omit header, respectively. (main): process --no-diff and --no-header --- ChangeLog | 6 ++++++ benchtests/scripts/compare_strings.py | 28 +++++++++++++++++---------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index c7436c4f333..d55a49765b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-05-28 Leonardo Sandoval + + * benchtests/scripts/compare_string.py: Add --no-diff and --no-header + options to avoid diff calculation and omit header, respectively. + (main): process --no-diff and --no-header + 2018-05-24 Tulio Magno Quites Machado Filho Gabriel F. T. Gomes diff --git a/benchtests/scripts/compare_strings.py b/benchtests/scripts/compare_strings.py index d37442076bf..850c455f3aa 100755 --- a/benchtests/scripts/compare_strings.py +++ b/benchtests/scripts/compare_strings.py @@ -79,7 +79,7 @@ def draw_graph(f, v, ifuncs, results): pylab.savefig('%s-%s.png' % (f, v), bbox_inches='tight') -def process_results(results, attrs, base_func, graph): +def process_results(results, attrs, base_func, graph, no_diff, no_header): """ Process results and print them Args: @@ -88,16 +88,19 @@ def process_results(results, attrs, base_func, graph): """ for f in results['functions'].keys(): - print('Function: %s' % f) + v = results['functions'][f]['bench-variant'] - print('Variant: %s' % v) base_index = 0 if base_func: base_index = results['functions'][f]['ifuncs'].index(base_func) - print("%36s%s" % (' ', '\t'.join(results['functions'][f]['ifuncs']))) - print("=" * 120) + if not no_header: + print('Function: %s' % f) + print('Variant: %s' % v) + print("%36s%s" % (' ', '\t'.join(results['functions'][f]['ifuncs']))) + print("=" * 120) + graph_res = {} for res in results['functions'][f]['results']: attr_list = ['%s=%s' % (a, res[a]) for a in attrs] @@ -107,10 +110,11 @@ def process_results(results, attrs, base_func, graph): graph_res[key] = res['timings'] for t in res['timings']: sys.stdout.write ('%12.2f' % t) - if i != base_index: - base = res['timings'][base_index] - diff = (base - t) * 100 / base - sys.stdout.write (' (%6.2f%%)' % diff) + if not no_diff: + if i != base_index: + base = res['timings'][base_index] + diff = (base - t) * 100 / base + sys.stdout.write (' (%6.2f%%)' % diff) sys.stdout.write('\t') i = i + 1 print('') @@ -132,7 +136,7 @@ def main(args): attrs = args.attributes.split(',') results = parse_file(args.input, args.schema) - process_results(results, attrs, base_func, args.graph) + process_results(results, attrs, base_func, args.graph, args.no_diff, args.no_header) if __name__ == '__main__': @@ -152,6 +156,10 @@ if __name__ == '__main__': help='IFUNC variant to set as baseline.') parser.add_argument('-g', '--graph', action='store_true', help='Generate a graph from results.') + parser.add_argument('--no-diff', action='store_true', + help='Do not print the difference from baseline.') + parser.add_argument('--no-header', action='store_true', + help='Do not print the header.') args = parser.parse_args() main(args)