This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch 2/2] Assert leftover cleanups in TRY_CATCH
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Doug Evans <dje at google dot com>
- Cc: Tom Tromey <tromey at redhat dot com>, gdb-patches <gdb-patches at sourceware dot org>
- Date: Tue, 7 May 2013 16:00:20 +0200
- Subject: Re: [patch 2/2] Assert leftover cleanups in TRY_CATCH
On Tue, 07 May 2013 06:37:08 +0200, Doug Evans wrote:
> but I don't see how inferior breakpoint slowness is related.
It is very unrelated but it was illustrating there is still a lot of work on
GDB to do.
> [I can imagine a reason why multiple virtual class inheritance is related,
> but then again I'm not sure I'd want to see gdb use it itself.]
I do not know if there is a use case in GDB really worth it; it was again just
an illustration there is still a lot of work on GDB to do.
> btw, is the slowness just an all-stop thing?
> Or is there room for massive improvement in non-stop too?
It was single-threaded mode.
On Tue, 07 May 2013 06:49:48 +0200, Doug Evans wrote:
> I'm setting aside target-side condition evaluation of course.
target-side condition evaluation is a good idea:
time gdb ./loop -ex 'b 4 if i==360000' -ex r -q -ex 'set confirm no' -ex q
real 1m11.586s
gdbserver :1234 ./loop
time gdb ./loop -ex 'target remote localhost:1234' -ex 'b 4 if i==360000' -ex c -q -ex 'set confirm no' -ex q
real 0m21.862s
"set breakpoint condition-evaluation target" really helps a lot.
Although recompilation with a compiled-in conditional is still faster.
loop.c:
--------------------
#include <stdio.h>
int main(void) {
for (int i=0;;i++)
if (i==360000)
break;
return 0;
}
Regards,
Jan