This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
GCC memory consumption increased by recent patch!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Sun, 17 Oct 2004 04:30:18 +0000
- Subject: 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.