This is the mail archive of the gcc-regression@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCC memory consumption increased by recent patch!


Hi,
Comparing memory consumption on compilation of combine.i and generate-3.4.ii I got:


comparing combine.c compilation at -O0 level:
    Overall memory needed: 24589k
    Peak memory use before GGC: 9310k
    Peak memory use after GGC: 8624k
    Maximum of released memory in single GGC run: 2912k
    Garbage: 42433k
    Leak: 6088k
    Overhead: 5717k
    GGC runs: 353

comparing combine.c compilation at -O1 level:
    Overall memory needed: 25633k
    Peak memory use before GGC: 9198k
    Peak memory use after GGC: 8720k
    Maximum of released memory in single GGC run: 2060k
    Garbage: 68024k
    Leak: 6484k
    Overhead: 10667k
    GGC runs: 545

comparing combine.c compilation at -O2 level:
    Overall memory needed: 29325k
    Peak memory use before GGC: 12705k
    Peak memory use after GGC: 12578k
    Maximum of released memory in single GGC run: 2574k
    Garbage: 82249k
    Leak: 6301k
    Overhead: 14829k
    GGC runs: 547

comparing combine.c compilation at -O3 level:
    Overall memory needed: 20724k
    Peak memory use before GGC: 12987k
    Peak memory use after GGC: 12578k
    Maximum of released memory in single GGC run: 3408k
    Garbage: 111192k
    Leak: 6848k
    Overhead: 19907k
    GGC runs: 614

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 118468k
    Peak memory use before GGC: 79386k
    Peak memory use after GGC: 46137k
    Maximum of released memory in single GGC run: 43335k
    Garbage: 161980k
    Leak: 10609k
    Overhead: 21242k
    GGC runs: 296

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 129432k
    Peak memory use before GGC: 83952k
    Peak memory use after GGC: 70040k
    Maximum of released memory in single GGC run: 41104k
    Garbage: 445754k
    Leak: 10955k
    Overhead: 79294k
    GGC runs: 430

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 154048k
    Peak memory use before GGC: 99964k
    Peak memory use after GGC: 85453k
    Maximum of released memory in single GGC run: 42091k
    Garbage: 492646k
    Leak: 10875k
    Overhead: 87569k
    GGC runs: 364

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 153920k
    Peak memory use before GGC: 99966k
    Peak memory use after GGC: 85455k
    Maximum of released memory in single GGC run: 42091k
    Garbage: 493925k
    Leak: 10920k
    Overhead: 87750k
    GGC runs: 372

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 113400k
    Peak memory use before GGC: 89918k -> 89919k
    Peak memory use after GGC: 89024k -> 89025k
    Maximum of released memory in single GGC run: 19896k
    Garbage: 248717k -> 248727k
    Leak: 57790k -> 57791k
    Overhead: 45380k -> 45380k
    GGC runs: 362

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 95920k
    Peak memory use before GGC: 88914k -> 88916k
    Peak memory use after GGC: 87941k -> 87943k
    Maximum of released memory in single GGC run: 19401k -> 19402k
    Garbage: 552625k -> 552642k
    Leak: 59826k -> 59827k
    Overhead: 115282k -> 115285k
    GGC runs: 612

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 95920k
    Peak memory use before GGC: 88915k -> 88916k
    Peak memory use after GGC: 87942k -> 87943k
    Maximum of released memory in single GGC run: 19402k -> 19401k
    Garbage: 601998k -> 601971k
    Leak: 60407k -> 60409k
    Overhead: 137371k -> 137370k
    GGC runs: 651

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 98292k to 98436k, overall 0.15%
    Overall memory needed: 98292k -> 98436k
    Peak memory use before GGC: 90311k -> 90313k
    Peak memory use after GGC: 88774k -> 88776k
    Maximum of released memory in single GGC run: 20091k
    Garbage: 641842k -> 641871k
    Leak: 60738k -> 60739k
    Overhead: 148762k -> 148762k
    GGC runs: 645 -> 646

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2004-12-14 13:20:34.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2004-12-14 17:55:49.000000000 +0000
@@ -1,3 +1,23 @@
+2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+	* tree.def, doc/c-tree.texi: Correctly document restrictions on the
+	shift width.
+
+2004-12-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
+
+2004-12-14  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/18973
+	arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
+	(arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
+	property to flags.
+
+2004-12-14  Diego Novillo  <dnovillo@redhat.com>
+
+	* tree-gimple.c (get_base_address): Update documentation.
+
 2004-12-13  Richard Henderson  <rth@redhat.com>
 
 	PR middle-end/17930
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2004-12-14 13:20:40.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2004-12-14 17:55:49.000000000 +0000
@@ -1,3 +1,26 @@
+2004-12-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+	PR c++/18949
+	* pt.c (tsubst_copy_and_build): <INDIRECT_REF case> Check that a
+	REFERENCE_REF_P is dereferencing a reference type.
+	* typeck.c (build_static_cast): Convert from reference even in a
+	template.
+	(build_reinterpret_cast, build_const_cast, build_c_cast): Likewise.
+
+2004-12-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+	* parser.c (cp_parser_uncommitted_to_tentative_parse_p): New function.
+	(cp_parser_name_lookup_error): Use it.
+	(cp_parser_check_for_invalid_template_id): Likewise.
+	(cp_parser_skip_to_closing_parenthesis): Likewise.
+	(cp_parser_nested_name_specifier_opt): Likewise.
+	(cp_parser_simple_declaration, cp_parser_template_id): Likewise.
+	(cp_parser_parameter_declaration_list): Likewise.
+	(cp_parser_parameter_declaration): Likewise.
+	(cp_parser_template_name): Let cp_parser_simulate_error perform
+	the checking.
+	(cp_parser_committed_to_tentative_parse): Remove.
+
 2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
 
 	PR c++/18968

I am friendly script caring about memory consumption in GCC.  Please contact
jh@suse.cz if something is going wrong.

The results can be reproduced by building compiler with
--enable-gather-detailed-mem-stats targetting x86-64 and compiling preprocessed
combine.c or testcase from PR8632 with:

-fmem-report --param=ggc-min-heapsize=1024 --param=ggc-min-expand=1 -Ox -Q

The memory consumption summary appears in the dump after detailed listing of
the places they are allocated in.  Peak memory consumption is actually computed
by looking for maximal value in {GC XXXX -> YYYY} report.

Yours testing script.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]