From: James Ingham <jingham@leda.cygnus.com>
To: gdb@sourceware.cygnus.com
Subject: Re: libGDB architecture
Date: Sat, 27 Nov 1999 18:50:00 -0000 [thread overview]
Message-ID: <mfn1ugceho.fsf@leda.cygnus.com> (raw)
In-Reply-To: <37E6F077.F75C8BE8@cygnus.com>
Andrew Cagney <ac131313@cygnus.com> writes:
>
> I think a better (safer, more likely to succeed) approach would be to,
> in parallel with the introduction of a robust interface, start
> investigating what have been identified as other (likely) hot spots.
> Interestingly, many of the below are actually independent of the libGDB
> interface:
>
I agree with Andrew here. We can get a lot of benefit just breaking
down some of the atomic operations in the GDB interface into useable
bits. We have already done this with the variable interface (see
gdbtk-variable.c) Another example where you need to do this is in
the backtrace command. For most GUI purposes, you really don't want
an undifferentiated list of 100 stack elements with all their
arguments, names, types... Parsing and displaying this was very
slow. You really want one command that just gives you the list of
functions on the stack. Then a way to get the args (preferrably
already list-ified) for each level. That way you can do intelligent
things like only fetch what fits in the current window, and get the
others on scrolling or whatever...
This is just one other example. There are other places where
providing a more discrete interface into gdb would be a big benefit,
and probably reduce most of the need to get your hands on the actual
data in gdb.
I am still worried about parsing very large arrays, etc, however. For
this to be fast, you probably will have to somehow get the data
directly...
> Your too trusting :-)
>
> Andrew
>
> PS: See Tcl_IncrRefCount and Tcl_DecrRefCount
There are actually two places where Tcl does preservation of data.
One is in the Object system, which uses the calls Andrew sites above,
and one is for clients that want to hold data over a call that may
potentially free it - see Tcl_Preserve and Tcl_EventuallyFree.
Jim
--
++==++==++==++==++==++==++==++==++==++==++==++==++==++==++==++==++==++==++
Jim Ingham jingham@cygnus.com
Cygnus Solutions Inc.
From msnyder@cygnus.com Sat Nov 27 18:50:00 1999
From: "Michael Snyder" <msnyder@cygnus.com>
To: gdb@sourceware.cygnus.com
Subject: Re: QUIT as a function?
Date: Sat, 27 Nov 1999 18:50:00 -0000
Message-id: <7svn12$576$1@cronkite.cygnus.com>
References: <199909171842.LAA10740@andros.cygnus.com>
X-SW-Source: 1999-q4/msg00336.html
Content-length: 594
Stan Shebs wrote in message <199909171842.LAA10740@andros.cygnus.com>...
>
> From: Andrew Cagney <ac131313@cygnus.com>
> Date: Fri, 17 Sep 1999 15:14:42 +1000
>
> Is there any reason for not converting QUIT into a function?
>
>Yes, QUIT appears in the inner loops of the symbol readers, which
>are known to be compute-bound and some of the most time-critical
>code in all GDB.
True, but there's so much going on in those symbol readers
(including file accesses) that I can't believe one function call,
even in the innermost loop, would make a measurable difference.
next prev parent reply other threads:[~1999-11-27 18:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <199909161655.JAA11061@hpcll563.cup.hp.com>
1999-09-16 12:15 ` Jim Blandy
1999-09-17 18:18 ` Ovidiu Predescu
[not found] ` <37E6F077.F75C8BE8@cygnus.com>
1999-11-27 18:50 ` James Ingham [this message]
1999-08-24 0:05 Greg Watson
1999-08-24 7:25 ` Andrew Cagney
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=mfn1ugceho.fsf@leda.cygnus.com \
--to=jingham@leda.cygnus.com \
--cc=gdb@sourceware.cygnus.com \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox