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: 24641k
    Peak memory use before GGC: 9345k
    Peak memory use after GGC: 8659k
    Maximum of released memory in single GGC run: 2864k
    Garbage: 41727k
    Leak: 6379k
    Overhead: 5777k
    GGC runs: 329

comparing combine.c compilation at -O1 level:
    Overall memory needed: 27045k -> 27041k
    Peak memory use before GGC: 9233k -> 9229k
    Peak memory use after GGC: 8732k -> 8728k
    Maximum of released memory in single GGC run: 2026k
    Garbage: 66624k -> 65778k
    Leak: 6775k -> 6747k
    Overhead: 10514k -> 10435k
    GGC runs: 519 -> 518

comparing combine.c compilation at -O2 level:
    Overall memory needed: 29569k
    Peak memory use before GGC: 12665k
    Peak memory use after GGC: 12540k
    Maximum of released memory in single GGC run: 2533k -> 2534k
    Garbage: 80642k -> 79800k
    Leak: 6606k -> 6578k
    Overhead: 14368k -> 14294k
    GGC runs: 519

comparing combine.c compilation at -O3 level:
    Overall memory needed: 20184k -> 20156k
    Peak memory use before GGC: 12919k -> 12811k
    Peak memory use after GGC: 12540k
    Maximum of released memory in single GGC run: 3346k
    Garbage: 109089k -> 107764k
    Leak: 7120k -> 7092k
    Overhead: 19196k -> 18990k
    GGC runs: 585 -> 586

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 117548k
    Peak memory use before GGC: 78061k
    Peak memory use after GGC: 45541k
    Maximum of released memory in single GGC run: 42606k
    Garbage: 159286k
    Leak: 10949k
    Overhead: 20803k
    GGC runs: 274

comparing insn-attrtab.c compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 128204k to 128612k, overall 0.32%
    Overall memory needed: 128204k -> 128612k
    Peak memory use before GGC: 83579k
    Peak memory use after GGC: 69298k
    Maximum of released memory in single GGC run: 40617k
    Garbage: 441382k -> 441378k
    Leak: 11295k -> 11294k
    Overhead: 77391k -> 77391k
    GGC runs: 406

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 153544k -> 153408k
    Peak memory use before GGC: 99340k
    Peak memory use after GGC: 84460k
    Maximum of released memory in single GGC run: 41525k
    Garbage: 487922k -> 487877k
    Leak: 11219k -> 11218k
    Overhead: 85491k -> 85488k
    GGC runs: 342

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 153408k
    Peak memory use before GGC: 99341k
    Peak memory use after GGC: 84462k
    Maximum of released memory in single GGC run: 41525k
    Garbage: 489113k -> 488914k
    Leak: 11261k -> 11256k
    Overhead: 85649k -> 85635k
    GGC runs: 349 -> 348

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 111084k
    Peak memory use before GGC: 86883k
    Peak memory use after GGC: 85932k
    Maximum of released memory in single GGC run: 19284k
    Garbage: 246367k
    Leak: 55491k
    Overhead: 43354k
    GGC runs: 367

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 104677k -> 104637k
    Peak memory use before GGC: 85965k
    Peak memory use after GGC: 84929k
    Maximum of released memory in single GGC run: 18947k
    Garbage: 466119k -> 456335k
    Leak: 57243k -> 56812k
    Overhead: 67145k -> 66454k
    GGC runs: 550 -> 541

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 104753k -> 104709k
    Peak memory use before GGC: 85965k
    Peak memory use after GGC: 84929k
    Maximum of released memory in single GGC run: 18947k
    Garbage: 500496k -> 490964k
    Leak: 57823k -> 57401k
    Overhead: 76614k -> 75932k
    GGC runs: 594 -> 587

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 112485k -> 112445k
    Peak memory use before GGC: 92703k
    Peak memory use after GGC: 86223k
    Maximum of released memory in single GGC run: 19713k
    Garbage: 520421k -> 506367k
    Leak: 58138k -> 57572k
    Overhead: 78455k -> 77457k
    GGC runs: 579 -> 574

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2005-01-19 16:56:37.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2005-01-19 23:36:17.000000000 +0000
@@ -1,3 +1,33 @@
+2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/19038
+	* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
+	(add_candidate): Add ivs with increment in latch only if
+	allow_ip_end_pos_p is true.
+	(determine_iv_cost): Use empty_block_p.
+
+2005-01-19  Daniel Berlin  <dberlin@dberlin.org>
+
+	* cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
+	(compute_dominance_frontiers): Ditto.
+
+2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+	PR target/19529
+	* config/sh/t-rtems: New. 
+	* config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
+
+2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
+	the offset of the selected field.
+
+2005-01-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* tree-cfg.c (remove_forwarder_block): Fix the check to
+	prevent a nonlocal label from appearing in the middle of a
+	basic block.
+
 2005-01-19  Hans-Peter Nilsson  <hp@axis.com>
 
 	PR rtl-optimization/19462
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2005-01-19 16:56:41.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2005-01-19 23:36:21.000000000 +0000
@@ -1,3 +1,7 @@
+2005-01-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* cp-tree.h, name-lookup.h: Remove unused prototypes.
+
 2005-01-19  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
 
 	PR c++/19375

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]