[dpdk-dev] [PATCH 01/19] devtools: add simple script to find duplicate includes
Thomas Monjalon
thomas at monjalon.net
Thu Jul 13 08:56:15 CEST 2017
12/07/2017 23:59, Stephen Hemminger:
> On Tue, 11 Jul 2017 22:33:55 +0200
> Thomas Monjalon <thomas at monjalon.net> wrote:
>
> > Thank you for this script, but... it is written in Perl!
> > I don't think it is a good idea to add yet another language to DPDK.
> > We already have shell and python scripts.
> > And I am not sure a lot of (young) people are able to parse it ;)
> >
> > I would like to propose this shell script:
> >
> > dirs='app buildtools drivers examples lib test'
> > pattern='^[[:space:]]*#include[[:space:]]*[<"](.*)[>"].*'
> >
> > for file in $(git ls $dirs) ; do
> > dups=$(sed -rn "s,$pattern,\1,p" $file | sort | uniq -d)
> > [ -n "$dups" ] || continue
> > echo "$file"
> > echo "$dups" | sed 's,^,\t,'
> > done
>
> There is no "git ls" command in current version,
>
> Using find instead works.
Yes, both work if specifying source code directories as above.
> plus shell is 7x slower.
>
> $ time bash -c "find . -name '*.c' | xargs /tmp/dupinc.sh"
> real 0m0.765s
> user 0m1.220s
> sys 0m0.155s
> $time bash -c "find . -name '*.c' | xargs ~/bin/dup_inc.pl"
> real 0m0.131s
> user 0m0.118s
> sys 0m0.014s
I don't think speed is really relevant here :)
> How about some python code.
I don't really care between shell or python.
I thought a shell script would be really concise
and without Python 2/3 compat issues.
More information about the dev
mailing list