From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gateway21.websitewelcome.com (gateway21.websitewelcome.com [192.185.45.95]) by sourceware.org (Postfix) with ESMTPS id CB45D3857C4D for ; Tue, 1 Sep 2020 14:20:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CB45D3857C4D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=tom@tromey.com Received: from cm12.websitewelcome.com (cm12.websitewelcome.com [100.42.49.8]) by gateway21.websitewelcome.com (Postfix) with ESMTP id 2FBAF400D05DE for ; Tue, 1 Sep 2020 09:20:07 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id D78ok3z7Vn9FWD78pkamgU; Tue, 01 Sep 2020 09:20:07 -0500 X-Authority-Reason: nr=8 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=+FOHHhd6/6KH7yVHo7t47sq60lhG+6yo2W/XfbijQrY=; b=IwfcnCSfuWv8siGKWd4R1kvzWJ Q7yNmpINKZI2MFFghqex41ZUz07FcivMm6aqbvWwVb3FwouAKyBQiIPKO69KggdnQ+wCVutYNicle XZ3KX/RXfP2YyCO2Suj2tzP63; Received: from 71-218-12-75.hlrn.qwest.net ([71.218.12.75]:54938 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1kD78o-000FVY-K1; Tue, 01 Sep 2020 08:20:06 -0600 From: Tom Tromey To: Simon Marchi Cc: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [PATCH] Have partial symbol tables own psymbol vectors References: <20200828193304.17475-1-tom@tromey.com> <871rjo7xic.fsf@tromey.com> <87sgc27nez.fsf@tromey.com> <2898fce1-5b22-29ce-3338-01dc3ee629a9@simark.ca> X-Attribution: Tom Date: Tue, 01 Sep 2020 08:20:04 -0600 In-Reply-To: <2898fce1-5b22-29ce-3338-01dc3ee629a9@simark.ca> (Simon Marchi's message of "Tue, 1 Sep 2020 09:24:30 -0400") Message-ID: <87o8mp7f57.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 71.218.12.75 X-Source-L: No X-Exim-ID: 1kD78o-000FVY-K1 X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-218-12-75.hlrn.qwest.net (bapiya) [71.218.12.75]:54938 X-Source-Auth: tom+tromey.com X-Email-Count: 2 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3028.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, JMQ_SPF_NEUTRAL, RCVD_IN_ABUSEAT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NEUTRAL, 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: Tue, 01 Sep 2020 14:20:11 -0000 >>>>> "Simon" == Simon Marchi writes: Simon> On 2020-08-31 1:09 p.m., Tom Tromey wrote: >> The main drawback of this patch is that it increases the size of >> partial symtab. Simon> Regarding this: it seems to me like in the end, no more memory is used (even when Simon> sharing partial symtabs between objfiles), it's just moved around, is that right? Simon> If so, I don't understand why you say it's a "drawback", doesn't it make it sound Simon> a bit scarier than it actually is? No, a bit more memory is used. Right now there are 2 std::vector<>s used for globals and static. (And there is a pair used to track the vectors being updated.) Each partial symtab currently has integer indexes into these vectors. After the patch, the vectors are removed from the psymtab storage (this is per-objfile, so IMO negligible), but now each partial symtab holds two vectors. On my machine (x86-64 with GNU libstdc++), a std::vector<> is 24 bytes. So, we're going from 4*sizeof(int) == 16 bytes per partial symtab to 48 bytes per. Tom