This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Big speed differences when setting breakpoints
- From: "Markus Grunwald" <markus dot grunwald at gmx dot de>
- To: gdb at sourceware dot org
- Date: Mon, 9 Aug 2010 08:29:46 +0200 (CEST)
- Subject: Big speed differences when setting breakpoints
Hello,
Can somebody explain these differences?
> (gdb) maint time 1
> (gdb) break
/home/gru/projects/vxp/branches/branch-0-2-30-X/Dafit_Code/dafit2/dafit2/CPTApplication.cpp:370
> Breakpoint 1 at 0x8161436: file
/home/gru/projects/vxp/branches/branch-0-2-30-X/Dafit_Code/dafit2/dafit2/CPTApplication.cpp,
line 370.
> Command execution time: 5.840365
compare it to this:
> (gdb) break CPTApplication.cpp:370
> Breakpoint 1 at 0x8161436: file
/home/gru/projects/vxp/branches/branch-0-2-30-X/Dafit_Code/dafit2/dafit2/CPTApplication.cpp,
line 370.
> Command execution time: 0.708044
Setting a breakpoint with the complete path is awfully slow, while it is
ok when you give only the filename. /home is on an nfs mount where disk
access is expensive, but even without nfs, the difference is quite big. I
wrote a little benchmark and straced the "open" calls:
% strace -eopen -o /tmp/gdb2.strace gdb dafit_x86.bin -x
~/gdb-benchmark-only-names.gdb
% strace -eopen -o /tmp/gdb.strace gdb dafit_x86.bin -x ~/gdb-benchmark.gdb
% wc -l /tmp/gdb.strace /tmp/gdb2.strace
88350 /tmp/gdb.strace
20 /tmp/gdb2.strace
What? 80000 calls to "open" if I pass the whole path and only 20 otherwise?
BTW: This is debian stables gdb:
% dpkg -l gdb
||/ Name Version
Description
+++-===================================-===================================-======================================================================================
ii gdb 6.8-3
The GNU Debugger
I would be happy if somebody could explain this behaviour....
Thanks,
Markus Grunwald
--
Markus Grunwald http://the-grue.de
Registered Linux User Nr 101577
http://counter.li.org