Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Phil Muldoon <pmuldoon@redhat.com>
To: Tom Tromey <tromey@redhat.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: [patch][python] 1 of 5 - Frame filter Python C code changes.
Date: Tue, 26 Mar 2013 17:17:00 -0000	[thread overview]
Message-ID: <5151B6DE.80703@redhat.com> (raw)
In-Reply-To: <87vc8kzd5d.fsf@fleche.redhat.com>

On 21/03/13 20:55, Tom Tromey wrote:
> 
> On irc you mentioned that performance wasn't great.
> I'm wondering if you are working on the frame stash fix.
> I think it would be good for that to go in first, so that there isn't a
> window where frame filter performance is bad.

Frame printing is about 20% slower, and that is really only noticeable
on backtraces of 10,000 frames or more.  Frame filtering and
application of decorators is instant.  So performance is comparable in
all but the most demanding of situations.

I think a frame stash using a hash table is doable, but I think it is
overkill because I am extremely suspicious of the frame to frame
object code.  As we get the older() and newer() frames we invalidate
the frame stash.  The reason for getting the two nearest older and
newer frames is dubious in the extreme.  A frame will always have a
frame level - that is GDB assigned.  Even completely busted inferior
frames, will be properly encapsulated in a GDB frame, and, have a
level assigned.

The only other scenario I can think of for the logic is if GDB itself
has encountered corruption in the call stack and this is to preserve
the last place.  But at that point why are we hiding that from the
user?  Things are likely going to fail, and fail badly, soon.  My
proposal is just to use the existing find_frame_by_id function and not
bother with this other stuff.  That will stop invalidating the frame
stash and likely solve the performance issue.

Cheers,

Phil



  parent reply	other threads:[~2013-03-26 14:55 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-11 22:13 Phil Muldoon
2013-03-21 20:55 ` Tom Tromey
2013-03-22 17:15   ` Tom Tromey
2013-03-26 17:17   ` Phil Muldoon [this message]
2013-03-27 18:36     ` Tom Tromey
  -- strict thread matches above, loose matches on Subject: below --
2013-05-06  8:23 Phil Muldoon
2013-05-06 20:39 ` Tom Tromey
2013-05-09 13:23   ` Phil Muldoon
2013-05-09 15:14     ` Tom Tromey
2013-05-10 10:42       ` Phil Muldoon
2013-04-22 16:01 Phil Muldoon
2013-04-26  6:47 ` Tom Tromey
2012-11-30 14:31 Phil Muldoon
2012-12-05 17:03 ` Tom Tromey
2012-12-07 13:41   ` Phil Muldoon
2012-12-07 19:03     ` Tom Tromey

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=5151B6DE.80703@redhat.com \
    --to=pmuldoon@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@redhat.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