This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/12332] Provide efficient source lookup for use by IDE
- From: "sprigogin at google dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Mon, 28 Feb 2011 04:23:59 +0000
- Subject: [Bug gdb/12332] Provide efficient source lookup for use by IDE
- Auto-submitted: auto-generated
- References: <bug-12332-4717@http.sourceware.org/bugzilla/>
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.