From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25679 invoked by alias); 28 Sep 2018 05:02:06 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 25666 invoked by uid 89); 28 Sep 2018 05:02:05 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=switched, Hx-languages-length:1282 X-HELO: gateway23.websitewelcome.com Received: from gateway23.websitewelcome.com (HELO gateway23.websitewelcome.com) (192.185.50.164) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 28 Sep 2018 05:02:03 +0000 Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway23.websitewelcome.com (Postfix) with ESMTP id 73D66513E for ; Fri, 28 Sep 2018 00:02:01 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 5kuJgN2y5kBj65kuWgV9Lg; Fri, 28 Sep 2018 00:02:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=vRyd4u1w8SSGDqbPhaWrcsd7rsrIdY/oLf4v2B7Y7wc=; b=s7toozQZXZlNCITSF54fEB9R1P l8qayu0zcSGkaxSLzE6mMeIZhBlsDlPvLYnae+pjJ+5qczPTsY8lEbISI6fjfz20Cj8g9wD4TCzzz meX81sSbwVr35MjMo2uvFT1gM; Received: from 97-122-190-66.hlrn.qwest.net ([97.122.190.66]:52782 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1g5kuJ-001LR6-7o; Fri, 28 Sep 2018 00:01:39 -0500 From: Tom Tromey To: Simon Marchi Cc: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [RFA 08/15] Remove readin and compunit_symtab fields from psymtab References: <20180510222357.27332-1-tom@tromey.com> <20180510222357.27332-9-tom@tromey.com> <5f8f38c4-8b4b-9fea-b9f2-7c69758a09c2@simark.ca> Date: Fri, 28 Sep 2018 05:02:00 -0000 In-Reply-To: <5f8f38c4-8b4b-9fea-b9f2-7c69758a09c2@simark.ca> (Simon Marchi's message of "Tue, 17 Jul 2018 23:34:00 -0400") Message-ID: <87lg7mi5al.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-09/txt/msg00887.txt.bz2 >>>>> "Simon" == Simon Marchi writes: Simon> As Pedro pointed out a few times, unordered_map is an hash map with open Simon> hashing. So we change what was previously a single pointer dereference Simon> to a lookup in a hash table, followed with a linear search in a linked Simon> list. If this map is looked up very frequently, maybe we should consider Simon> using an htab_t instead? Some profiling data would help, but it seems Simon> like psymtab_read_in_p is called quite a bit when looking up symbols... I went ahead and switched this to an htab_t. I considered, a little, porting over the GCC C++ hash table. I wasn't sure where to put it, though. I suppose we'd need a new library. Also, the GCC one has some GCC-isms (the GC stuff), plus the unusual "empty" method Pedro has mentioned here before. I still haven't tried any performance measurements. I'm not quite sure what to try. If it performs poorly, maybe a single element cache would help. Also I should probably look to see if there are any spots that iterate over psymtabs that could be changed to iterate over the map directly. I'm sort of considering dropping just this one patch and trying to get the rest in. Tom