From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 114908 invoked by alias); 24 Feb 2016 21:10:50 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 114892 invoked by uid 89); 24 Feb 2016 21:10:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1217 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 24 Feb 2016 21:10:49 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id DE180627C1; Wed, 24 Feb 2016 21:10:47 +0000 (UTC) Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1OLAkZn025819; Wed, 24 Feb 2016 16:10:46 -0500 Message-ID: <56CE1C56.9010208@redhat.com> Date: Wed, 24 Feb 2016 21:10:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Jan Kratochvil , Simon Marchi CC: Tom Tromey , gdb@sourceware.org Subject: Re: Multi-threaded dwarf parsing References: <2c38d5c574de28faa9fc94fe4ed17d45@simark.ca> <56CD8EC0.3010304@redhat.com> <87lh6a6s8s.fsf@tromey.com> <20160224202519.GA10251@host1.jankratochvil.net> In-Reply-To: <20160224202519.GA10251@host1.jankratochvil.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-02/txt/msg00027.txt.bz2 On 02/24/2016 08:25 PM, Jan Kratochvil wrote: > On Wed, 24 Feb 2016 17:43:03 +0100, Simon Marchi wrote: >> instead of blocking on the psymtabs creation at startup > [...] >> then the main code will have to block until the corresponding task is >> complete (dwarf2_require_psymtabs). > > If really your concern are psymtabs then use Tom's .gdb_index: > gdb/contrib/gdb-add-index.sh I think the index isn't so helpful if the big thing that takes a while to read/load is what you're changing in a edit/compile/debug cycle. Also, that script actually relies on gdb to read the debug info, intern it, and spit out the index. So if we gdb reads dwarf faster, then index generation itself becomes faster too. > > With .gdb_index GDB still has startup performance problems during full CU > expansions, that is struct symtab and struct symbol. That happens with C++ > inferiors which have very interlinked CUs and thus expanding one CU means for > GDB expanding 100+ CUs due to the inter-type dependencies which cannot be left > opaque in such cases. And as each C++ CU is usually very large... Sounds like something that could be sped up by reading CUs in parallel. Thanks, Pedro Alves