This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
A recent patch increased GCC's memory consumption!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Sun, 24 Jul 2005 12:45:12 +0000
- Subject: A recent patch increased GCC's memory consumption!
Hi,
I am a friendly script caring about memory consumption in GCC. Please
contact jh@suse.cz if something is going wrong.
Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
and generate-3.4.ii I got:
comparing combine.c compilation at -O0 level:
Overall memory needed: 24769k -> 24785k
Peak memory use before GGC: 9586k -> 9590k
Peak memory use after GGC: 8934k -> 8937k
Maximum of released memory in single GGC run: 2754k
Garbage: 41357k -> 41375k
Leak: 6712k -> 6688k
Overhead: 5818k -> 5819k
GGC runs: 321 -> 320
comparing combine.c compilation at -O1 level:
Overall memory needed: 26808k -> 26812k
Peak memory use before GGC: 17359k -> 17362k
Peak memory use after GGC: 17170k -> 17173k
Maximum of released memory in single GGC run: 2401k -> 2402k
Garbage: 66314k -> 66321k
Leak: 7186k -> 7189k
Overhead: 7738k -> 7739k
GGC runs: 415 -> 416
comparing combine.c compilation at -O2 level:
Overall memory needed: 26808k -> 26812k
Peak memory use before GGC: 17360k -> 17365k
Peak memory use after GGC: 17170k -> 17173k
Maximum of released memory in single GGC run: 2503k
Garbage: 84766k -> 84762k
Leak: 7426k -> 7429k
Overhead: 10301k -> 10301k
GGC runs: 482
comparing combine.c compilation at -O3 level:
Overall memory needed: 26808k -> 26812k
Peak memory use before GGC: 17609k -> 17612k
Peak memory use after GGC: 17170k -> 17173k
Maximum of released memory in single GGC run: 3341k
Garbage: 115637k -> 115671k
Leak: 7496k -> 7499k
Overhead: 13508k -> 13509k
GGC runs: 533
comparing insn-attrtab.c compilation at -O0 level:
Amount of memory still referenced at the end of compilation increased from 9848k to 10091k, overall 2.47%
Overall memory needed: 81640k -> 81648k
Peak memory use before GGC: 70259k -> 70263k
Peak memory use after GGC: 44999k -> 45002k
Maximum of released memory in single GGC run: 37046k -> 37047k
Garbage: 148903k -> 148650k
Leak: 9848k -> 10091k
Overhead: 19858k -> 19859k
GGC runs: 251 -> 250
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 112204k -> 112144k
Peak memory use before GGC: 94382k -> 94385k
Peak memory use after GGC: 83703k -> 83706k
Maximum of released memory in single GGC run: 32776k
Garbage: 294408k -> 294410k
Leak: 10071k -> 10074k
Overhead: 36804k -> 36804k
GGC runs: 250
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 122820k -> 123328k
Peak memory use before GGC: 113428k -> 113431k
Peak memory use after GGC: 83667k -> 83670k
Maximum of released memory in single GGC run: 32461k
Garbage: 380606k -> 380608k
Leak: 10184k -> 10188k
Overhead: 48618k -> 48619k
GGC runs: 279
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 123344k -> 123348k
Peak memory use before GGC: 113453k -> 113456k
Peak memory use after GGC: 83690k -> 83693k
Maximum of released memory in single GGC run: 32774k
Garbage: 381125k -> 381122k
Leak: 10201k -> 10204k
Overhead: 48671k -> 48672k
GGC runs: 282
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 118612k -> 118616k
Peak memory use before GGC: 95313k -> 95321k
Peak memory use after GGC: 94369k -> 94374k
Maximum of released memory in single GGC run: 20155k -> 20159k
Garbage: 227782k -> 227774k
Leak: 49416k -> 49422k
Overhead: 37224k -> 37225k
GGC runs: 344
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 105500k -> 105524k
Peak memory use before GGC: 94269k -> 94274k
Peak memory use after GGC: 93333k -> 93338k
Maximum of released memory in single GGC run: 19336k
Garbage: 600754k -> 600783k
Leak: 55683k -> 55689k
Overhead: 69710k -> 69714k
GGC runs: 524
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 105520k -> 105536k
Peak memory use before GGC: 94269k -> 94274k
Peak memory use after GGC: 93334k -> 93339k
Maximum of released memory in single GGC run: 19336k
Garbage: 683214k -> 683179k
Leak: 56600k -> 56607k
Overhead: 80951k -> 80947k
GGC runs: 587
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 108356k -> 108368k
Peak memory use before GGC: 95459k -> 95464k
Peak memory use after GGC: 94513k -> 94518k
Maximum of released memory in single GGC run: 19608k
Garbage: 729492k -> 729520k
Leak: 56835k -> 56841k
Overhead: 84613k -> 84629k
GGC runs: 596
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-07-24 00:46:55.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-07-24 11:37:34.000000000 +0000
@@ -1,3 +1,22 @@
+2005-07-24 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/22526
+ * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
+ of the zero node.
+
+2005-07-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
+ that C99 reserve for future use. Use it to define clog10,
+ clog10f and clog10l.
+
+2005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
+ * configure.ac: Check for -Wmissing-format-attribute.
+
+ * configure: Regenerate.
+
2005-07-23 Richard Henderson <rth@redhat.com>
PR tree-optimization/22623
The results can be reproduced by building a 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.
Your testing script.