[dpdk-dev] [PATCH 01/19] devtools: add simple script to find duplicate includes

Stephen Hemminger stephen at networkplumber.org
Wed Jul 12 23:59:25 CEST 2017


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.

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

How about some python code.


More information about the dev mailing list