This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
Some aspect of 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: Thu, 17 Feb 2005 09:40:01 +0000
- Subject: Some aspect of 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:
Amount of produced GGC garbage increased from 41664k to 41763k, overall 0.24%
Overall memory needed: 24669k -> 24673k
Peak memory use before GGC: 9358k
Peak memory use after GGC: 8673k
Maximum of released memory in single GGC run: 2863k -> 2867k
Garbage: 41664k -> 41763k
Leak: 6395k
Overhead: 5773k -> 5773k
GGC runs: 327
comparing combine.c compilation at -O1 level:
Amount of produced GGC garbage increased from 60532k to 60629k, overall 0.16%
Overall memory needed: 25521k -> 25513k
Peak memory use before GGC: 9235k -> 9237k
Peak memory use after GGC: 8740k
Maximum of released memory in single GGC run: 2026k
Garbage: 60532k -> 60629k
Leak: 6756k
Overhead: 9936k -> 9937k
GGC runs: 500 -> 501
comparing combine.c compilation at -O2 level:
Amount of produced GGC garbage increased from 78473k to 78576k, overall 0.13%
Overall memory needed: 29153k -> 29161k
Peak memory use before GGC: 12670k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 2597k
Garbage: 78473k -> 78576k
Leak: 6593k
Overhead: 13978k -> 13978k
GGC runs: 510
comparing combine.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 31505k to 31589k, overall 0.27%
Overall memory needed: 31505k -> 31589k
Peak memory use before GGC: 12773k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 3434k
Garbage: 105794k -> 105895k
Leak: 7120k
Overhead: 18743k -> 18743k
GGC runs: 577
comparing insn-attrtab.c compilation at -O0 level:
Peak amount of GGC memory allocated before garbage collecting increased from 74747k to 75034k, overall 0.38%
Amount of produced GGC garbage increased from 152668k to 153279k, overall 0.40%
Overall memory needed: 114136k
Peak memory use before GGC: 74747k -> 75034k
Peak memory use after GGC: 45493k
Maximum of released memory in single GGC run: 39340k -> 39627k
Garbage: 152668k -> 153279k
Leak: 10984k
Overhead: 19970k -> 19970k
GGC runs: 274 -> 273
comparing insn-attrtab.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 123624k to 124152k, overall 0.43%
Amount of produced GGC garbage increased from 370048k to 370669k, overall 0.17%
Overall memory needed: 123624k -> 124152k
Peak memory use before GGC: 78747k
Peak memory use after GGC: 70087k
Maximum of released memory in single GGC run: 40781k -> 40787k
Garbage: 370048k -> 370669k
Leak: 11361k
Overhead: 69439k -> 69439k
GGC runs: 398
comparing insn-attrtab.c compilation at -O2 level:
Ovarall memory allocated via mmap and sbrk decreased from 147756k to 138092k, overall -7.00%
Amount of produced GGC garbage increased from 483932k to 484557k, overall 0.13%
Overall memory needed: 147756k -> 138092k
Peak memory use before GGC: 97758k
Peak memory use after GGC: 83478k
Maximum of released memory in single GGC run: 39384k
Garbage: 483932k -> 484557k
Leak: 11242k
Overhead: 84528k -> 84528k
GGC runs: 342
comparing insn-attrtab.c compilation at -O3 level:
Amount of produced GGC garbage increased from 484744k to 485374k, overall 0.13%
Overall memory needed: 147792k -> 147800k
Peak memory use before GGC: 97759k
Peak memory use after GGC: 83480k
Maximum of released memory in single GGC run: 39384k
Garbage: 484744k -> 485374k
Leak: 11279k
Overhead: 84658k -> 84658k
GGC runs: 348
comparing Gerald's testcase PR8361 compilation at -O0 level:
Amount of produced GGC garbage increased from 246085k to 246842k, overall 0.31%
Overall memory needed: 111056k -> 111028k
Peak memory use before GGC: 87156k -> 87201k
Peak memory use after GGC: 85895k -> 85872k
Maximum of released memory in single GGC run: 19511k -> 19555k
Garbage: 246085k -> 246842k
Leak: 55523k -> 55524k
Overhead: 43324k -> 43327k
GGC runs: 366 -> 367
comparing Gerald's testcase PR8361 compilation at -O1 level:
Amount of produced GGC garbage increased from 435965k to 436719k, overall 0.17%
Overall memory needed: 103909k -> 103853k
Peak memory use before GGC: 86014k -> 86089k
Peak memory use after GGC: 85113k -> 85053k
Maximum of released memory in single GGC run: 18951k -> 19025k
Garbage: 435965k -> 436719k
Leak: 56857k -> 56858k
Overhead: 65091k -> 65094k
GGC runs: 513
comparing Gerald's testcase PR8361 compilation at -O2 level:
Amount of produced GGC garbage increased from 479185k to 479929k, overall 0.16%
Overall memory needed: 104149k -> 104093k
Peak memory use before GGC: 86014k -> 86090k
Peak memory use after GGC: 85114k -> 85053k
Maximum of released memory in single GGC run: 18951k -> 19026k
Garbage: 479185k -> 479929k
Leak: 57424k -> 57425k
Overhead: 74698k -> 74695k
GGC runs: 572
comparing Gerald's testcase PR8361 compilation at -O3 level:
Peak amount of GGC memory allocated before garbage collecting increased from 87150k to 87329k, overall 0.21%
Amount of produced GGC garbage increased from 483943k to 484720k, overall 0.16%
Overall memory needed: 105205k -> 105133k
Peak memory use before GGC: 87150k -> 87329k
Peak memory use after GGC: 86193k -> 85984k
Maximum of released memory in single GGC run: 19400k -> 19578k
Garbage: 483943k -> 484720k
Leak: 57595k -> 57588k
Overhead: 75313k -> 75314k
GGC runs: 559 -> 561
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-02-17 04:30:36.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-02-17 08:36:51.000000000 +0000
@@ -1,3 +1,9 @@
+2005-02-17 Jason Merrill <jason@redhat.com>
+
+ PR mudflap/19319, c++/19317
+ * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
+ slot explicit.
+
2005-02-17 Gerald Pfeifer <gerald@pfeifer.com>
* doc/install.texi (Specific): Update link for Darwin-specific
@@ -56,7 +62,7 @@
2005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
- * doc/install.texi (sparc-sun-solaris2*): Document required
+ * doc/install.texi (sparc-sun-solaris2*): Document required GMP
configure settings on Solaris 7 and later.
2005-02-16 Diego Novillo <dnovillo@redhat.com>
@@ -287,11 +293,6 @@
2005-02-13 Jason Merrill <jason@redhat.com>
- [reverted temporarily]
- PR mudflap/19319
- * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
- slot explicit.
-
PR c++/16405
* fold-const.c (fold_indirect_ref_1): Split out from...
(build_fold_indirect_ref): Here.
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.