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: 25257k
    Peak memory use before GGC: 9336k
    Peak memory use after GGC: 8648k
    Maximum of released memory in single GGC run: 2930k
    Garbage: 42982k
    Leak: 6094k
    Overhead: 5657k
    GGC runs: 364

comparing combine.c compilation at -O1 level:
    Overall memory needed: 26617k -> 26621k
    Peak memory use before GGC: 9298k
    Peak memory use after GGC: 8737k
    Maximum of released memory in single GGC run: 2066k -> 2065k
    Garbage: 72491k -> 72424k
    Leak: 6486k -> 6490k
    Overhead: 11329k -> 11330k
    GGC runs: 579

comparing combine.c compilation at -O2 level:
    Overall memory needed: 29869k -> 29861k
    Peak memory use before GGC: 12738k
    Peak memory use after GGC: 12612k
    Maximum of released memory in single GGC run: 2584k
    Garbage: 87883k -> 87835k
    Leak: 6310k
    Overhead: 15972k -> 15974k
    GGC runs: 578 -> 579

comparing combine.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 21448k to 21472k, overall 0.11%
    Overall memory needed: 21448k -> 21472k
    Peak memory use before GGC: 13179k -> 13171k
    Peak memory use after GGC: 12612k
    Maximum of released memory in single GGC run: 3419k
    Garbage: 117819k -> 117803k
    Leak: 6886k -> 6818k
    Overhead: 21060k -> 21066k
    GGC runs: 647

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 118640k
    Peak memory use before GGC: 79535k
    Peak memory use after GGC: 46181k
    Maximum of released memory in single GGC run: 43441k
    Garbage: 163180k
    Leak: 10646k
    Overhead: 20460k
    GGC runs: 307

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 131180k
    Peak memory use before GGC: 89943k
    Peak memory use after GGC: 70593k
    Maximum of released memory in single GGC run: 42003k
    Garbage: 463117k
    Leak: 10990k
    Overhead: 74020k
    GGC runs: 465

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 206072k -> 206076k
    Peak memory use before GGC: 105510k
    Peak memory use after GGC: 86160k
    Maximum of released memory in single GGC run: 35801k
    Garbage: 512773k -> 512770k
    Leak: 10910k
    Overhead: 82117k
    GGC runs: 386

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 206076k
    Peak memory use before GGC: 105512k
    Peak memory use after GGC: 86162k
    Maximum of released memory in single GGC run: 35801k
    Garbage: 514062k -> 514050k
    Leak: 10954k
    Overhead: 82301k
    GGC runs: 395

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 112008k
    Peak memory use before GGC: 88772k
    Peak memory use after GGC: 87648k
    Maximum of released memory in single GGC run: 19623k
    Garbage: 253933k
    Leak: 57113k
    Overhead: 45784k
    GGC runs: 369

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 94572k
    Peak memory use before GGC: 87755k
    Peak memory use after GGC: 86603k
    Maximum of released memory in single GGC run: 19231k
    Garbage: 599311k -> 599369k
    Leak: 59038k -> 59043k
    Overhead: 129821k -> 129873k
    GGC runs: 633

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 95408k -> 95416k
    Peak memory use before GGC: 87755k
    Peak memory use after GGC: 86604k
    Maximum of released memory in single GGC run: 19231k
    Garbage: 655494k -> 655871k
    Leak: 59622k -> 59630k
    Overhead: 154205k -> 154320k
    GGC runs: 684 -> 686

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 102700k -> 102656k
    Peak memory use before GGC: 94818k
    Peak memory use after GGC: 87983k
    Maximum of released memory in single GGC run: 19962k
    Garbage: 701318k -> 701488k
    Leak: 59968k -> 59966k
    Overhead: 165909k -> 166053k
    GGC runs: 664 -> 663

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2004-10-27 20:25:32.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2004-10-27 21:41:03.000000000 +0000
@@ -1,3 +1,35 @@
+2004-10-27  Geoffrey Keating  <geoffk@apple.com>
+
+	* doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
+
+	* config/darwin.h (GTHREAD_USE_WEAK): Define.
+
+2004-10-28  Ben Elliston  <bje@au.ibm.com>
+
+	* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
+	(PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
+	* params.h (SRA_MAX_STRUCTURE_SIZE): New.
+	(SRA_FIELD_STRUCTURE_RATIO): Likewise.
+	* tree-sra.c: Include "params.h".
+	(decide_block_copy): Use new parameters.
+	* doc/invoke.texi (Optimize Options): Document new SRA pass
+	parameters sra-max-structure-size and sra-field-structure-ratio.
+
+2004-10-27  Nicolas Pitre <nico@cam.org>
+
+	* config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
+
+2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/18048
+	* fold-const.c (try_move_mult_to_index): New function.
+	(fold): Use try_move_mult_to_index.
+	* tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
+	* tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
+	an all-ones unsigned constant without extra bits.
+	* tree.c (build_low_bits_mask): New function.
+	* tree.h (build_low_bits_mask): Declare.
+
 2004-10-27  David Edelsohn  <edelsohn@gnu.org>
 
 	PR target/17956

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]