From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14427 invoked by alias); 20 Feb 2004 17:05:49 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 14418 invoked from network); 20 Feb 2004 17:05:48 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 20 Feb 2004 17:05:48 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1AuE5z-00039O-1K; Fri, 20 Feb 2004 12:05:47 -0500 Date: Fri, 20 Feb 2004 17:05:00 -0000 From: Daniel Jacobowitz To: Andrew Cagney Cc: Elena Zannoni , David Carlton , gdb@sources.redhat.com Subject: Re: Huge slowdown since 6.0 Message-ID: <20040220170547.GA12075@nevyn.them.org> Mail-Followup-To: Andrew Cagney , Elena Zannoni , David Carlton , gdb@sources.redhat.com References: <20040218210927.GA16641@nevyn.them.org> <20040220050905.GA15209@nevyn.them.org> <16438.14300.323849.306261@localhost.redhat.com> <40363D78.9080708@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <40363D78.9080708@gnu.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-02/txt/msg00283.txt.bz2 On Fri, Feb 20, 2004 at 12:01:44PM -0500, Andrew Cagney wrote: > Hmm, begs a few questions: > > - why do we load the symbols during startup? > Load globals on demand? What sort of demand do you have in mind? > - why do we sort the symbols during startup? > Use a hash (so that break main is fast) and sort when (break main > is entered?) Partial symbols are the only remaining thing that gets sorted. Fixing this is somewhat complicated; it was the first option I looked at. My preferred first step is to not keep any symbol address information in partial symbols, after which I think it will be easier; this is a long-term cleanup. > - why don't we do more while GDB is twiddling its thumbs in the event > loop event loop? Hmm.... that's pretty complicated to implement. It would require doing things in small chunks and handling interruption gracefully. The problem is, at the first symbol lookup, we will probably need to have all the symbols... -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer