[2/3] benchtests: Add --no-header option to omit header

Message ID 20180525155830.6864-3-leonardo.sandoval.gonzalez@linux.intel.com
State New, archived
Headers

Commit Message

leonardo.sandoval.gonzalez@linux.intel.com May 25, 2018, 3:58 p.m. UTC
  From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>

Having raw output without header makes easier the interaction with
other tools, thus include an option to omit it.

	* benchtests/scripts/compare_string.py: Add --no-header
	option to omit header
---
 ChangeLog                             |  5 +++++
 benchtests/scripts/compare_strings.py | 17 +++++++++++------
 2 files changed, 16 insertions(+), 6 deletions(-)
  

Comments

Siddhesh Poyarekar May 27, 2018, 12:35 p.m. UTC | #1
On 05/25/2018 09:28 PM, leonardo.sandoval.gonzalez@linux.intel.com wrote:
> From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
> 
> Having raw output without header makes easier the interaction with
> other tools, thus include an option to omit it.
> 
> 	* benchtests/scripts/compare_string.py: Add --no-header
> 	option to omit header
> ---
>   ChangeLog                             |  5 +++++
>   benchtests/scripts/compare_strings.py | 17 +++++++++++------
>   2 files changed, 16 insertions(+), 6 deletions(-)
> 
> diff --git a/ChangeLog b/ChangeLog
> index afddd77315a..cc3e50e3b8d 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,8 @@
> +2018-05-25  Leonardo Sandoval  <leonardo.sandoval.gonzalez@intel.com>
> +
> +	* benchtests/scripts/compare_string.py: Add --no-header	option
> +	to omit header.
> +
>   2018-05-25  Leonardo Sandoval  <leonardo.sandoval.gonzalez@intel.com>
>   
>   	* benchtests/scripts/compare_string.py: Add --no-diff option
> diff --git a/benchtests/scripts/compare_strings.py b/benchtests/scripts/compare_strings.py
> index ceeccea13b6..c629bba77fa 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, no_diff):
> +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, no_diff):
>       """
>   
>       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]
> @@ -133,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, args.no_diff)
> +    process_results(results, attrs, base_func, args.graph, args.no_diff, args.no_header)
>   
>   
>   if __name__ == '__main__':
> @@ -155,6 +158,8 @@ if __name__ == '__main__':
>                           help='Generate a graph from results.')
>       parser.add_argument('--no-diff', action='store_true',
>                           help='Do not include diff on .')
> +    parser.add_argument('--no-header', action='store_true',
> +                        help='Do not include the header.')

Please change the help text to "Do not include the header in the output".

Also, if you're writing a tool to analyze the results, please also 
consider propose merging them into glibc if you think they could be of 
more general use.

Thanks,
Siddhesh

>   
>       args = parser.parse_args()
>       main(args)
>
  

Patch

diff --git a/ChangeLog b/ChangeLog
index afddd77315a..cc3e50e3b8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@ 
+2018-05-25  Leonardo Sandoval  <leonardo.sandoval.gonzalez@intel.com>
+
+	* benchtests/scripts/compare_string.py: Add --no-header	option
+	to omit header.
+
 2018-05-25  Leonardo Sandoval  <leonardo.sandoval.gonzalez@intel.com>
 
 	* benchtests/scripts/compare_string.py: Add --no-diff option
diff --git a/benchtests/scripts/compare_strings.py b/benchtests/scripts/compare_strings.py
index ceeccea13b6..c629bba77fa 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, no_diff):
+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, no_diff):
     """
 
     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]
@@ -133,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, args.no_diff)
+    process_results(results, attrs, base_func, args.graph, args.no_diff, args.no_header)
 
 
 if __name__ == '__main__':
@@ -155,6 +158,8 @@  if __name__ == '__main__':
                         help='Generate a graph from results.')
     parser.add_argument('--no-diff', action='store_true',
                         help='Do not include diff on .')
+    parser.add_argument('--no-header', action='store_true',
+                        help='Do not include the header.')
 
     args = parser.parse_args()
     main(args)