public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] [gdb/contrib] Combine sed invocations in words.sh script
@ 2019-11-22 15:23 Tom de Vries
  0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2019-11-22 15:23 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f618007364b84739f6f8663c1c634fb47bbc6732

commit f618007364b84739f6f8663c1c634fb47bbc6732
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Nov 22 16:23:22 2019 +0100

    [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

Diff:
---
 gdb/ChangeLog        |  4 ++++
 gdb/contrib/words.sh | 11 ++++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 81c6690..25c63c7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2019-11-22  Tom de Vries  <tdevries@suse.de>
+
+	* contrib/words.sh: Combine sed invocations.
+
 2019-11-21  Christian Biesinger  <cbiesinger@google.com>
 
 	* Makefile.in: Update.
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) \


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-11-22 15:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-22 15:23 [binutils-gdb] [gdb/contrib] Combine sed invocations in words.sh script Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).