From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26230 invoked by alias); 28 Nov 2006 12:38:17 -0000 Received: (qmail 26128 invoked by uid 48); 28 Nov 2006 12:38:02 -0000 Date: Tue, 28 Nov 2006 12:38:00 -0000 Message-ID: <20061128123802.26127.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/29433] using boost::MPL requires lots of memory In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-11/txt/msg02403.txt.bz2 ------- Comment #18 from rguenth at gcc dot gnu dot org 2006-11-28 12:38 ------- Most of the memory used is spent in the string pool: String pool entries 68980 identifiers 68980 (100.00%) slots 131072 bytes 1012M (10M overhead) table size 1024k coll/search 0.7816 ins/search 0.2876 avg. entry 15394.37 bytes (+/- 68924.74) longest entry 2130575 if you add -g to the compilation, dwarf2out.c happily xstrdup()s most of them a few times and memory consumption goes up to 3.9GB. All the stringpool handling and it's usage by classtype_mangled_name is not very well optimized for such large strings (after all, we know the string length there for example). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29433