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: 25261k
    Peak memory use before GGC: 9337k -> 9336k
    Peak memory use after GGC: 8648k -> 8647k
    Maximum of released memory in single GGC run: 2931k -> 2930k
    Garbage: 42989k -> 42989k
    Leak: 6090k -> 6089k
    Overhead: 5653k -> 5653k
    GGC runs: 363 -> 364

comparing combine.c compilation at -O1 level:
    Overall memory needed: 26725k
    Peak memory use before GGC: 9480k -> 9479k
    Peak memory use after GGC: 8872k -> 8871k
    Maximum of released memory in single GGC run: 2062k -> 2063k
    Garbage: 73202k -> 73204k
    Leak: 6677k -> 6677k
    Overhead: 11471k -> 11471k
    GGC runs: 576 -> 577

comparing combine.c compilation at -O2 level:
    Overall memory needed: 29949k -> 29953k
    Peak memory use before GGC: 12772k
    Peak memory use after GGC: 12612k
    Maximum of released memory in single GGC run: 2580k -> 2579k
    Garbage: 88381k -> 88370k
    Leak: 6432k -> 6431k
    Overhead: 16013k -> 16012k
    GGC runs: 578

comparing combine.c compilation at -O3 level:
  Amount of memory still referenced at the end of compilation increased from 7001k to 7032k, overall 0.44%
    Overall memory needed: 21448k -> 21468k
    Peak memory use before GGC: 13446k -> 13445k
    Peak memory use after GGC: 12722k -> 12721k
    Maximum of released memory in single GGC run: 3440k
    Garbage: 118812k -> 118795k
    Leak: 7001k -> 7032k
    Overhead: 21196k -> 21196k
    GGC runs: 644

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 118640k
    Peak memory use before GGC: 79536k -> 79535k
    Peak memory use after GGC: 46181k -> 46180k
    Maximum of released memory in single GGC run: 43441k
    Garbage: 163178k -> 163172k
    Leak: 10644k -> 10643k
    Overhead: 20458k -> 20458k
    GGC runs: 307

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 130584k
    Peak memory use before GGC: 90827k
    Peak memory use after GGC: 70898k -> 70897k
    Maximum of released memory in single GGC run: 42004k
    Garbage: 462758k -> 462759k
    Leak: 11075k -> 11074k
    Overhead: 74732k -> 74732k
    GGC runs: 463

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 209860k -> 209824k
    Peak memory use before GGC: 105788k
    Peak memory use after GGC: 86457k
    Maximum of released memory in single GGC run: 35799k -> 35798k
    Garbage: 512371k -> 512367k
    Leak: 10957k -> 10956k
    Overhead: 82807k -> 82807k
    GGC runs: 385

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 209848k -> 209832k
    Peak memory use before GGC: 105793k -> 105796k
    Peak memory use after GGC: 86462k -> 86466k
    Maximum of released memory in single GGC run: 35799k -> 35798k
    Garbage: 513770k -> 513748k
    Leak: 11003k -> 11011k
    Overhead: 82995k -> 82995k
    GGC runs: 394

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 112008k
    Peak memory use before GGC: 88771k
    Peak memory use after GGC: 87648k
    Maximum of released memory in single GGC run: 19623k
    Garbage: 254347k
    Leak: 58643k -> 58643k
    Overhead: 46746k -> 46746k
    GGC runs: 367

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 100816k
    Peak memory use before GGC: 87755k
    Peak memory use after GGC: 86603k
    Maximum of released memory in single GGC run: 19232k
    Garbage: 693432k
    Leak: 60742k -> 60742k
    Overhead: 130760k -> 130760k
    GGC runs: 625

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 101892k
    Peak memory use before GGC: 87755k
    Peak memory use after GGC: 86603k
    Maximum of released memory in single GGC run: 19231k
    Garbage: 744918k
    Leak: 61288k -> 61288k
    Overhead: 154237k -> 154237k
    GGC runs: 656

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 118548k
    Peak memory use before GGC: 100244k
    Peak memory use after GGC: 89103k
    Maximum of released memory in single GGC run: 19979k
    Garbage: 849559k
    Leak: 61699k -> 61699k
    Overhead: 166038k -> 166038k
    GGC runs: 640

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2004-10-16 17:56:38.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2004-10-17 02:35:15.000000000 +0000
@@ -1,3 +1,18 @@
+2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+	* c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
+	RID_PTRVALUE.
+	* c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
+	declarations.
+	(reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
+	__ptrextent__, __ptrvalue and __ptrvalue__.
+	(rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
+	entries.
+
+2004-10-16  Dale Johannesen  <dalej@apple.com>
+
+	* c-common.c (c_common_get_alias_set):  Use GGC for type_hash_table.
+
 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
 
 	PR tree-optimization/17766

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]