On 01/12/2018 12:23 PM, Dylan Baker wrote: > Quoting Ian Romanick (2018-01-12 12:06:59) >> From: Ian Romanick <[email protected]> >> >> This is useful for preparing data to go in a Mesa commit message. >> >> Signed-off-by: Ian Romanick <[email protected]> >> --- >> report.py | 53 +++++++++++++++++++++++++++++++---------------------- >> 1 file changed, 31 insertions(+), 22 deletions(-) >> >> diff --git a/report.py b/report.py >> index e0068bc..72752c1 100755 >> --- a/report.py >> +++ b/report.py >> @@ -62,6 +62,8 @@ def main(): >> help="comma-separated list of measurements to >> report") >> parser.add_argument("--summary-only", "-s", action="store_true", >> default=False, >> help="do not show the per-shader helped / hurt >> data") >> + parser.add_argument("--changes-only", "-c", action="store_true", >> default=False, >> + help="only show measurements that have changes") >> parser.add_argument("before", type=get_results, help="the output of the >> original code") >> parser.add_argument("after", type=get_results, help="the output of the >> new code") >> args = parser.parse_args() >> @@ -116,14 +118,14 @@ def main(): >> if len(helped) > 0: >> print("") >> >> - hurt.sort( >> - key=lambda k: args.after[k][m] if args.before[k][m] == >> 0 else float(args.after[k][m] - args.before[k][m]) / args.before[k][m]) >> - for p in hurt: >> - namestr = p[0] + " " + p[1] >> - print(m + " HURT: " + get_result_string( >> - namestr, args.before[p][m], args.after[p][m])) >> - if len(hurt) > 0: >> - print("") >> + hurt.sort( >> + key=lambda k: args.after[k][m] if args.before[k][m] == 0 >> else float(args.after[k][m] - args.before[k][m]) / args.before[k][m]) >> + for p in hurt: >> + namestr = p[0] + " " + p[1] >> + print(m + " HURT: " + get_result_string( >> + namestr, args.before[p][m], args.after[p][m])) >> + if len(hurt) > 0: >> + print("") >> >> num_helped[m] = len(helped) >> num_hurt[m] = len(hurt) >> @@ -153,21 +155,28 @@ def main(): >> if len(gained) > 0: >> print("") >> >> + any_helped_or_hurt = False >> for m in args.measurements: >> - print("total {0} in shared programs: {1}\n" >> - "{0} in affected programs: {2}\n" >> - "helped: {3}\n" >> - "HURT: {4}\n".format( >> - m, >> - change(total_before[m], total_after[m]), >> - change(affected_before[m], affected_after[m]), >> - num_helped[m], >> - num_hurt[m])) >> - >> - >> - print("LOST: " + str(len(lost))) >> - print("GAINED: " + str(len(gained))) >> - >> + if num_helped[m] > 0 or num_hurt[m] > 0: >> + any_helped_or_hurt = True >> + >> + if num_helped[m] > 0 or num_hurt[m] > 0 or not args.changes_only: > > Couldn't this be: `if any_helped_or_hurt or not args.changes_only:`
Yes. I added any_helped_or_hurt long after writing this particular
if-statement, and I didn't notice the easy refactor. :)
>> + print("total {0} in shared programs: {1}\n"
>> + "{0} in affected programs: {2}\n"
>> + "helped: {3}\n"
>> + "HURT: {4}\n".format(
>> + m,
>> + change(total_before[m], total_after[m]),
>> + change(affected_before[m], affected_after[m]),
>> + num_helped[m],
>> + num_hurt[m]))
>> +
>> + if len(lost) > 0 or len(gained) > 0 or not args.changes_only:
>
> Don't use len() for checking if a list has members:
> `if lost or gained or not args.changes_only:`
Oh interesting. There are a few other places in report.py that use 'if
len(x) != 0', so I'll change those too.
>> + print("LOST: " + str(len(lost)))
>> + print("GAINED: " + str(len(gained)))
>> +
>> + if args.changes_only and len(lost) == 0 and len(gained) == 0 and not
>> any_helped_or_hurt:
>
> same here:
> `if args.changes_only and not lost and not gained and not any_helped_or_hurt`:
>
>> + print("No changes.")
>>
>> if __name__ == "__main__":
>> main()
>> --
>> 2.9.5
>>
>> _______________________________________________
>> mesa-dev mailing list
>> [email protected]
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
