diff options
author | Tom de Vries <tdevries@suse.de> | 2019-11-22 16:23:22 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2019-11-22 16:23:22 +0100 |
commit | f618007364b84739f6f8663c1c634fb47bbc6732 (patch) | |
tree | 4dfbe469ad42899ca74f716c9195394457a70345 /gdb/contrib | |
parent | 8b301fbb6114faba4e95e24e3a1c3108f64885c6 (diff) | |
download | gdb-f618007364b84739f6f8663c1c634fb47bbc6732.zip gdb-f618007364b84739f6f8663c1c634fb47bbc6732.tar.gz gdb-f618007364b84739f6f8663c1c634fb47bbc6732.tar.bz2 |
[gdb/contrib] Combine sed invocations in words.sh script
Currently running words.sh on all the c source and header files in the repo
takes ~16s in user time:
...
$ time ./gdb/contrib/words.sh \
$(find -type f -name "*.c" -o -name "*.h") \
>/dev/null
real 0m7,787s
user 0m16,349s
sys 0m0,367s
...
Rewrite the sed invocations using the -e option from this:
...
| sed <sedprog1>
| sed <sedprog2>
...
into this:
...
| sed \
-e <sedprog1>
-e <sedprog2>
...
and reduce user time to ~11s:
...
$ time ./gdb/contrib/words.sh \
$(find -type f -name "*.c" -o -name "*.h") \
>/dev/null
real 0m7,243s
user 0m11,220s
sys 0m0,205s
...
gdb/ChangeLog:
2019-11-22 Tom de Vries <tdevries@suse.de>
* contrib/words.sh: Combine sed invocations.
Change-Id: Ib08453f3712f32ed02d9f503ee960711ebb9421b
Diffstat (limited to 'gdb/contrib')
-rwxr-xr-x | gdb/contrib/words.sh | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gdb/contrib/words.sh b/gdb/contrib/words.sh index ae38539..8c4fdd0 100755 --- a/gdb/contrib/words.sh +++ b/gdb/contrib/words.sh @@ -114,12 +114,13 @@ export LC_ALL=C awk \ -f "$awkfile" \ -- "$@" \ - | sed 's/[%^$~#{}`&=@,. \t\/_()|<>\+\*-]/\n/g' \ - | sed 's/\[/\n/g' \ - | sed 's/\]/\n/g' \ - | sed 's/[0-9][0-9]*/\n/g' \ + | sed \ + -e 's/[%^$~#{}`&=@,. \t\/_()|<>\+\*-]/\n/g' \ + -e 's/\[/\n/g' \ + -e 's/\]/\n/g' \ + -e 's/[0-9][0-9]*/\n/g' \ + -e 's/[ \t]*//g' \ | tr '[:upper:]' '[:lower:]' \ - | sed 's/[ \t]*//g' \ | sort \ | uniq -c \ | awk "{ if (($minfreq == 0 || $minfreq <= \$1) \ |