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: 24653k
    Peak memory use before GGC: 9354k
    Peak memory use after GGC: 8668k
    Maximum of released memory in single GGC run: 2864k
    Garbage: 41669k
    Leak: 6391k
    Overhead: 5772k
    GGC runs: 328

comparing combine.c compilation at -O1 level:
    Overall memory needed: 25541k
    Peak memory use before GGC: 9231k
    Peak memory use after GGC: 8736k
    Maximum of released memory in single GGC run: 2029k
    Garbage: 60295k
    Leak: 6751k
    Overhead: 9904k
    GGC runs: 501

comparing combine.c compilation at -O2 level:
    Overall memory needed: 29561k -> 28805k
    Peak memory use before GGC: 12666k
    Peak memory use after GGC: 12540k
    Maximum of released memory in single GGC run: 2597k
    Garbage: 78450k
    Leak: 6588k
    Overhead: 14032k
    GGC runs: 513

comparing combine.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 20236k to 31585k, overall 56.08%
    Overall memory needed: 20236k -> 31585k
    Peak memory use before GGC: 12769k
    Peak memory use after GGC: 12540k
    Maximum of released memory in single GGC run: 3407k
    Garbage: 105847k
    Leak: 7096k
    Overhead: 18831k
    GGC runs: 581

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 114132k
    Peak memory use before GGC: 74743k
    Peak memory use after GGC: 45489k
    Maximum of released memory in single GGC run: 39341k
    Garbage: 152665k
    Leak: 10979k
    Overhead: 19970k
    GGC runs: 274

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 124248k
    Peak memory use before GGC: 78751k
    Peak memory use after GGC: 70098k
    Maximum of released memory in single GGC run: 40780k
    Garbage: 366123k
    Leak: 11356k
    Overhead: 69302k
    GGC runs: 396

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 147420k
    Peak memory use before GGC: 98352k
    Peak memory use after GGC: 83469k
    Maximum of released memory in single GGC run: 39384k
    Garbage: 480550k
    Leak: 11237k
    Overhead: 84546k
    GGC runs: 340

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 147412k
    Peak memory use before GGC: 98354k
    Peak memory use after GGC: 83470k
    Maximum of released memory in single GGC run: 39384k
    Garbage: 481356k
    Leak: 11275k
    Overhead: 84675k
    GGC runs: 346

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 111048k
    Peak memory use before GGC: 87151k
    Peak memory use after GGC: 85890k
    Maximum of released memory in single GGC run: 19511k
    Garbage: 246099k -> 246094k
    Leak: 55517k
    Overhead: 43324k -> 43324k
    GGC runs: 366

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 103889k -> 103897k
    Peak memory use before GGC: 86009k
    Peak memory use after GGC: 85108k
    Maximum of released memory in single GGC run: 18951k
    Garbage: 433610k -> 433609k
    Leak: 56851k
    Overhead: 64544k
    GGC runs: 511

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 104897k -> 104113k
    Peak memory use before GGC: 86009k
    Peak memory use after GGC: 85109k
    Maximum of released memory in single GGC run: 18950k
    Garbage: 476185k -> 476184k
    Leak: 57419k
    Overhead: 74274k
    GGC runs: 573

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 105985k -> 105205k
    Peak memory use before GGC: 87145k
    Peak memory use after GGC: 86188k
    Maximum of released memory in single GGC run: 19399k
    Garbage: 480821k -> 480820k
    Leak: 57558k
    Overhead: 74874k
    GGC runs: 557

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2005-02-11 17:44:20.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2005-02-11 22:14:03.000000000 +0000
@@ -1,3 +1,34 @@
+2005-02-11  Steven Bosscher  <stevenb@suse.de>
+
+	PR tree-optimization/19876
+	Partially revert my change from 2005-01-14
+	* tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
+	(compute_antic): ...and remove the loop here.
+
+2005-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/19858
+	* fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
+	is number of inner's bits, avoid creating a BIT_FIELD_REF.
+
+	* config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
+	crtend.o if -pie.  Use %{x:a;:b} spec syntax.
+
+2005-02-11  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
+	offsets for the big-endian 32-bit case.
+
+2005-02-11  Joseph S. Myers  <joseph@codesourcery.com>
+
+	* config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+
+2005-02-11  Dale Johannesen  <dalej@apple.com>
+
+	* cselib.c (cselib_process_insn):  Clear out regs where
+	HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
+	* reload.c (find_equiv_reg): Ditto.
+
 2005-02-11  Ian Lance Taylor  <ian@airs.com>
 
 	* read-rtl.c (read_rtx_1): Give fatal error if we see a vector
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2005-02-11 17:44:20.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2005-02-11 22:14:10.000000000 +0000
@@ -1,3 +1,9 @@
+2005-02-11  Richard Henderson  <rth@redhat.com>
+
+	PR c++/19632
+        * pt.c (get_mostly_instantiated_function_type): Save and restore
+        flag_access_control instead of push/pop_access_scope.
+
 2005-02-10  Mark Mitchell  <mark@codesourcery.com>
 
 	PR c++/19755

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]