From: Paul Pluzhnikov <ppluzhnikov@google.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: gdb-patches@sourceware.org, Tom Tromey <tromey@redhat.com>
Subject: Re: [patch] Eliminate quadratic slow-down on number of solibs (part 2).
Date: Wed, 13 May 2009 18:11:00 -0000 [thread overview]
Message-ID: <8ac60eac0905131111v7a73a628o5e6dfee5969119d3@mail.gmail.com> (raw)
In-Reply-To: <20090513092709.GB7292@adacore.com>
On Wed, May 13, 2009 at 2:27 AM, Joel Brobecker <brobecker@adacore.com> wrote:
>> Because of that, your "maintenance set ..." suggestion doesn't
>> make sense to me: why would you ever want O(N*N) algorithm when an
>> O(N) one is available?
>
> There was a communication issue somewhere. I didn't suggest that
> we should keep the O(N*N) algorithm. The command was on top of already
> having the O(N) approach...
Ah, sorry I misunderstood you.
To summarize, there are 4 separate changes flying around:
1. The "don't rescan all objfiles over and over looking for ObjC
methods" patch here:
http://sourceware.org/ml/gdb-patches/2009-05/msg00253.html
I just committed that.
2. The "don't rescan all objfiles over and
over looking for _ovly_debug_event" patch here:
http://sourceware.org/ml/gdb-patches/2009-05/msg00255.html
This patch is "ready to commit"; not sure if I need any further
approvals for it.
3. The "don't reset all breakpoints over and over when adding
multiple solibs" patch here:
http://sourceware.org/ml/gdb-patches/2009-05/msg00097.html
This patch feels like a hack, but does save significant additional
CPU cycles (even after patches #1 and #2 above) and transforms
breakpoint reset operation from O(N*N) into O(N) where N is the
number of solibs added "at once" (such as at program startup). It
is not clear how to make this less of a hack :-(
4. Joel's proposal (if I understood it correctly) to extend patch#3
above to add external control of the suppress_breakpoint_reset
variable via "maintenance set/show breakpoint-reset" or some such.
This would allow advanced users to turn off breakpoint reset
even in cases not addressed by patch#3, but they should really
know what they are doing.
Once could easily imagine such a scenario: a program that
dlopen()s 1000s of solibs in sequence. You'd then turn off
breakpoint reset for all but the very last solib. But I can't
imagine a real program actually doing this.
Thanks,
--
Paul Pluzhnikov
next prev parent reply other threads:[~2009-05-13 18:11 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-06 0:50 Paul Pluzhnikov
2009-05-12 8:25 ` Joel Brobecker
2009-05-12 20:53 ` Paul Pluzhnikov
2009-05-13 9:27 ` Joel Brobecker
2009-05-13 18:11 ` Paul Pluzhnikov [this message]
2009-05-14 8:14 ` Joel Brobecker
2009-05-14 17:45 ` Paul Pluzhnikov
2009-05-14 19:23 ` Joel Brobecker
2009-05-14 23:35 ` Paul Pluzhnikov
[not found] ` <20090521151540.GH16152@adacore.com>
2009-05-21 16:17 ` Paul Pluzhnikov
2009-05-21 16:40 ` Joel Brobecker
2009-05-30 2:08 ` Tom Tromey
2009-05-30 1:59 ` Tom Tromey
2009-06-03 19:46 ` Paul Pluzhnikov
2009-06-03 21:36 ` Tom Tromey
2009-05-12 19:43 Paul Pluzhnikov
2009-05-13 9:25 ` Joel Brobecker
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=8ac60eac0905131111v7a73a628o5e6dfee5969119d3@mail.gmail.com \
--to=ppluzhnikov@google.com \
--cc=brobecker@adacore.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