From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12392 invoked by alias); 27 Feb 2004 02:58:38 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 12299 invoked from network); 27 Feb 2004 02:58:37 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 27 Feb 2004 02:58:37 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id i1R2wbb26064 for ; Thu, 26 Feb 2004 21:58:37 -0500 Received: from zenia.home.redhat.com (porkchop.devel.redhat.com [172.16.58.2]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i1R2wZ827880; Thu, 26 Feb 2004 21:58:35 -0500 To: Daniel Jacobowitz Cc: gdb-patches@sources.redhat.com, Elena Zannoni Subject: Re: [RFA/dwarf] Optimize partial DIE reading for uninteresting DIEs References: <20040225030644.GA5167@nevyn.them.org> <20040226231255.GC8487@nevyn.them.org> From: Jim Blandy Date: Fri, 27 Feb 2004 02:58:00 -0000 In-Reply-To: <20040226231255.GC8487@nevyn.them.org> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2004-02/txt/msg00796.txt.bz2 Daniel Jacobowitz writes: > You're mistaken about the expense. In particular read_unsigned_leb128 > is much slower than skip_uleb128 because of the computations to build > the result; IIRC variable shifts are expensive. Yes, this was measured > with an optimized build and a non-intrusive profiler. There's also the > different memory access patterns. No kidding. I'm amazed. Okay. > Most of the speedup comes from not reading in the attribute values, > though. If what you say above is so, then two distinct versions of the attribute traversal are clearly called for. It would be interesting to compare profiling results between two GDB's that differ only in whether they use your attribute skipper or the attribute value reader.