This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/12332] Provide efficient source lookup for use by IDE


http://sourceware.org/bugzilla/show_bug.cgi?id=12332

Sergey Prigogin <sprigogin at google dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sprigogin at google dot com

--- Comment #2 from Sergey Prigogin <sprigogin at google dot com> 2011-02-28 04:23:49 UTC ---
(In reply to comment #1)
First of all file systems are not created equal. Here is directory listing
timing on NFS:
$ find $PWD -type f|tr -cd /|wc -c
755813
$ find $PWD -type f|wc -l
81702
$ time sh -c 'find $PWD -type f|xargs /bin/ls|wc -l'
81702
real    0m49.537s

50 seconds is not negligible. In my GDB experiment some source directories were
on an even slower file system that represented a view of a version control
system. GDB was over 5 minutes to set just a few breakpoints. Almost all time
was spent in file system IO.

When instead of passing environment-directory and absolute paths of the files
containing the breakpoints, the breakpoints were set up using relative paths
matching the ones in debug info in the binary, there was no IO and the
breakpoints were set instantly.

> I would rather bet the slowness is in GDB itself, it has problems handling
> 1000+ breakpoints even on high-end hardware.  I rather did not expect anyone
> would use so many breakpoints.

The slowness manifests itself with just a few breakpoints. I don't remember how
many breakpoints I had in my experiment, but it was definitely less than 5.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]