From: Dov Grobgeld <dov.grobgeld@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: cyd@gnu.org, schwab@linux-m68k.org, 10580@debbugs.gnu.org
Subject: bug#10580: 24.0.92; gdb initialization takes more than one minute at 100% CPU
Date: Thu, 10 May 2012 21:43:39 +0300 [thread overview]
Message-ID: <CA++fsGFwuX7tCAamkK4pWZoE+DXUy+n4zEkWAM11KAXN=bxKcQ@mail.gmail.com> (raw)
In-Reply-To: <83ipg4yp2z.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 2911 bytes --]
I just downloaded gdb from cvs and tried with the latest version and there
are still duplicates. Perhaps it is because of gcc? But on the positive
side there is indeed a huge difference in the gdb output.
prompt> gdb --version
GNU gdb (GDB) Fedora (7.3.50.20110722-13.fc16)
prompt> /usr/local/public-dev/bin/gdb --version
GNU gdb (GDB) 7.4.50.20120509-cvs
prompt> gdb -i=mi MyExec < /tmp/gdb.in > /tmp/gdb-old.out
prompt> /usr/local/public-dev/bin/gdb -i=mi MyExec < /tmp/gdb.in >
/tmp/gdb-new.out
prompt> ls -1s --block-size=1 /tmp/gdb*.out
884736 /tmp/gdb-new.out
3727360 /tmp/gdb-old.out
prompt> perl -ne 'while(/(\w+)=\"(.*?)\"/g) { print "$1=$2\n"; }'
/tmp/gdb-old.out | sort | wc
67311 67311 3522494
prompt> perl -ne 'while(/(\w+)=\"(.*?)\"/g) { print "$1=$2\n"; }'
/tmp/gdb-new.out | sort | wc
14221 14221 837082
prompt> perl -ne 'while(/(\w+)=\"(.*?)\"/g) { print "$1=$2\n"; }'
/tmp/gdb-old.out | sort |uniq| wc
3931 3931 220654
prompt> perl -ne 'while(/(\w+)=\"(.*?)\"/g) { print "$1=$2\n"; }'
/tmp/gdb-new.out | sort |uniq| wc
2245 2245 137404
But even the factor 837k vs 137k is substantial, so it is still valid to do
an internal uniq within gdb. I'll try to put together a patch.
Regards,
Dov
On Thu, May 10, 2012 at 7:32 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> > Date: Thu, 10 May 2012 09:00:49 +0300
> > From: Dov Grobgeld <dov.grobgeld@gmail.com>
> > Cc: schwab@linux-m68k.org, cyd@gnu.org, 10580@debbugs.gnu.org
> >
> > I tried running file-list-exec-source-files and I get duplicates as well.
> > Try the following:
> >
> > prompt> echo -file-list-exec-source-files > /tmp/gdb.in
> > prompt> gdb -i=mi emacs < /tmp/gdb.in > /tmp/gdb.out
> > prompt> perl -ne 'while(/(\w+)=\"(.*?)\"/g) { print "$1=$2\n"; }'
> > /tmp/gdb.out | sort | head -15
> > file=alloc.c
> > file=alloc.c
> > file=allocator.c
> > file=atimer.c
> > file=atimer.c
> > file=bidi.c
> > file=bidi.c
> > file=buffer.c
> > file=buffer.c
> > file=buffer.h
> > file=buffer.h
> > file=buffer.h
> > file=buffer.h
> > file=buffer.h
> > file=buffer.h
>
> I don't see anything like that. Here's my output:
>
> addr=0x011b4ea5
> addr=0x011b4ea5
> addr=0x012329a8
> disp=del
> disp=del
> disp=keep
> enabled=y
> enabled=y
> enabled=y
> file=../lib/allocator.h
> file=../lib/careadlinkat.h
> file=../lib/ignore-value.h
> file=../lib/intprops.h
> file=../lib/intprops.h
> file=../lib/intprops.h
>
> IOW, all the duplicates I see are header files. Not a single .c file
> shows up, not even if I change "head -15" into "head -100".
>
> > My version of gdb is:
> >
> > GNU gdb (GDB) Fedora (7.2-52.fc14)
>
> Maybe you should upgrade, I dunno. I use 7.4.1, FWIW.
>
> Or maybe GCC versions later than what I have do that.
>
> > For my executable gdb outputs full paths as well as the fullname field,
> > which expands the output considerably.
>
> Here too, but that's expected (and necessary).
>
[-- Attachment #2: Type: text/html, Size: 4287 bytes --]
next prev parent reply other threads:[~2012-05-10 18:43 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-22 12:42 bug#10580: 24.0.92; gdb initialization takes more than one minute at 100% CPU Dov Grobgeld
2012-01-23 0:53 ` Glenn Morris
[not found] ` <CA++fsGG4YuTtb2VC9R+GRcPN5+JSaKpkb+uO3WAX0+VXmh8HDQ@mail.gmail.com>
2012-01-23 9:21 ` Glenn Morris
2012-01-25 0:37 ` Glenn Morris
2012-01-25 8:49 ` Dov Grobgeld
2012-01-25 9:39 ` Dov Grobgeld
2012-01-25 19:05 ` Glenn Morris
2012-04-30 5:33 ` Dov Grobgeld
2012-04-30 6:36 ` Dov Grobgeld
2012-05-06 4:13 ` Chong Yidong
2012-05-06 4:55 ` Dov Grobgeld
2012-05-06 5:39 ` Chong Yidong
2012-05-06 7:06 ` Dov Grobgeld
2012-05-07 2:53 ` Chong Yidong
2012-05-07 5:07 ` Dov Grobgeld
2012-05-07 6:11 ` Chong Yidong
2012-05-07 6:26 ` Chong Yidong
2012-05-08 5:33 ` Dov Grobgeld
2012-05-08 7:56 ` Dov Grobgeld
2012-05-08 8:28 ` Chong Yidong
2012-05-08 11:59 ` Dov Grobgeld
2012-05-08 16:25 ` Chong Yidong
2012-05-08 17:47 ` Eli Zaretskii
2012-05-08 21:07 ` Dov Grobgeld
2012-05-08 21:24 ` Andreas Schwab
2012-05-08 21:30 ` Dov Grobgeld
2012-05-09 7:47 ` Andreas Schwab
2012-05-09 8:44 ` Dov Grobgeld
2012-05-09 17:36 ` Eli Zaretskii
2012-05-10 6:00 ` Dov Grobgeld
2012-05-10 14:13 ` Chong Yidong
2012-05-10 19:07 ` Dov Grobgeld
2012-05-10 20:25 ` Stefan Monnier
2012-05-11 6:33 ` Chong Yidong
2012-05-11 8:29 ` Dov Grobgeld
2012-05-11 9:47 ` Eli Zaretskii
2012-05-11 13:27 ` Chong Yidong
2012-11-05 20:36 ` Dov Grobgeld
2012-11-05 20:46 ` Eli Zaretskii
2012-11-05 23:51 ` Stefan Monnier
2012-05-10 16:32 ` Eli Zaretskii
2012-05-10 18:43 ` Dov Grobgeld [this message]
2012-05-08 17:38 ` Eli Zaretskii
2012-12-14 4:14 ` bug#10580: 24.0.92; gdb initialization takes more than one minute at 100 Jean-Philippe Gravel
2012-12-18 4:45 ` Jean-Philippe Gravel
2012-12-21 4:01 ` Chong Yidong
2013-03-01 3:31 ` Jean-Philippe Gravel
2013-03-11 17:14 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CA++fsGFwuX7tCAamkK4pWZoE+DXUy+n4zEkWAM11KAXN=bxKcQ@mail.gmail.com' \
--to=dov.grobgeld@gmail.com \
--cc=10580@debbugs.gnu.org \
--cc=cyd@gnu.org \
--cc=eliz@gnu.org \
--cc=schwab@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.