[Mesa-dev] [PATCH shader-db 4/5] nv-report: make use of argparse

Ilia Mirkin imirkin at alum.mit.edu
Fri Aug 3 21:39:05 UTC 2018


Oh. argparse.add_argument doesn't do what I thought it did. Neat. I
was going by memory, which most resembles a colander by now =/

This change is

Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

On Fri, Aug 3, 2018 at 5:34 PM, Rhys Perry <pendingchaos02 at gmail.com> wrote:
> They should still be positional arguments.
>
> For example, the output of --help (after the 5th patch) is:
>
>> usage: nv-report.py [-h] [--top ATTR N] [--smallest ATTR N] before after
>>
>> Shows changes between two shader-db runs for the nouveau drivers.
>>
>> positional arguments:
>>   before             the baseline run
>>   after              the run to compare against the baseline
>>
>> optional arguments:
>>   -h, --help         show this help message and exit
>>  --top ATTR N       also show the top n programs affected for attr
>>   --smallest ATTR N  also show the smallest n programs affected for attr
>
> (it doesn't seem to matter where --top/--smallest is)
>
> On Fri, Aug 3, 2018 at 10:29 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> I'd rather keep these as positional args. You can still use argparse
>> for other optional items.
>>
>> On Fri, Aug 3, 2018 at 3:53 PM, Rhys Perry <pendingchaos02 at gmail.com> wrote:
>>> Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
>>> ---
>>>  nv-report.py | 13 +++++++++++--
>>>  1 file changed, 11 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/nv-report.py b/nv-report.py
>>> index 079b2e08a3..1c1491af0a 100644
>>> --- a/nv-report.py
>>> +++ b/nv-report.py
>>> @@ -12,11 +12,15 @@ fields, except for the type, are optional.
>>>
>>>  import re
>>>  import sys
>>> +import argparse
>>>
>>>
>>>  STATS = ["local", "shared", "gpr", "inst", "bytes"]
>>>  ATTRS = ["name", "type"] + STATS
>>>
>>> +DESCRIPTION = """Shows changes between two shader-db runs for the nouveau
>>> +drivers."""
>>> +
>>>  def getgroupvalue(m, groupname):
>>>      if not m[groupname]:
>>>          return 0
>>> @@ -130,8 +134,13 @@ def print_helped_hurt(keys, before, after):
>>>      print
>>>
>>>  def main(argv):
>>> -    before = read_stats(argv[1])
>>> -    after = read_stats(argv[2])
>>> +    parser = argparse.ArgumentParser(description=DESCRIPTION)
>>> +    parser.add_argument('before', help="the baseline run")
>>> +    parser.add_argument('after', help="the run to compare against the baseline")
>>> +    args = parser.parse_args(argv[1:])
>>> +
>>> +    before = read_stats(args.before)
>>> +    after = read_stats(args.after)
>>>
>>>      keys = set()
>>>      for key in set(before.stats.keys()) | set(after.stats.keys()):
>>> --
>>> 2.14.4
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list