From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from rock.gnat.com (rock.gnat.com [205.232.38.15]) by sourceware.org (Postfix) with ESMTP id A677F3887002 for ; Wed, 20 May 2020 17:40:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A677F3887002 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey@adacore.com Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 75AC1117456 for ; Wed, 20 May 2020 13:40:34 -0400 (EDT) X-Virus-Scanned: Debian amavisd-new at gnat.com Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 2sZ8NDGHKgLy for ; Wed, 20 May 2020 13:40:34 -0400 (EDT) Received: from murgatroyd.Home (174-16-104-48.hlrn.qwest.net [174.16.104.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPSA id 3D261117429 for ; Wed, 20 May 2020 13:40:34 -0400 (EDT) From: Tom Tromey To: gdb-patches@sourceware.org Subject: [PATCH 0/4] Micro-optimize DWARF partial symbol reading Date: Wed, 20 May 2020 11:40:28 -0600 Message-Id: <20200520174032.9525-1-tromey@adacore.com> X-Mailer: git-send-email 2.21.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 May 2020 17:40:36 -0000 A personal goal of mine is to improve the startup time of gdb. In the long run, I think the answer lies partly with threading, and perhaps with a more radical rewrite of the DWARF psymbol reader. However, those are difficult goals; and in the short term, I found that just profiling the reader and making small improvements can make a difference. This series improves the performance of the DWARF partial symbol reader about 10% (more in one case) on some real-world executables. See the first patch for details (I chose to put the details there so they would end up in the eventual git log). Regression tested on x86-64 Fedora 30. Let me know what you think. Tom