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: 24629k
    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: 27033k
    Peak memory use before GGC: 9233k
    Peak memory use after GGC: 8732k
    Maximum of released memory in single GGC run: 2026k
    Garbage: 66624k
    Leak: 6775k
    Overhead: 10514k
    GGC runs: 519

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

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

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 needed: 128704k
    Peak memory use before GGC: 83579k
    Peak memory use after GGC: 69298k
    Maximum of released memory in single GGC run: 40617k
    Garbage: 441382k
    Leak: 11295k
    Overhead: 77391k
    GGC runs: 406

comparing insn-attrtab.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 153408k to 153676k, overall 0.17%
    Overall memory needed: 153408k -> 153676k
    Peak memory use before GGC: 99340k
    Peak memory use after GGC: 84460k
    Maximum of released memory in single GGC run: 41525k
    Garbage: 487922k
    Leak: 11219k
    Overhead: 85491k
    GGC runs: 342

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

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 111088k
    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: 104665k
    Peak memory use before GGC: 85965k
    Peak memory use after GGC: 84929k
    Maximum of released memory in single GGC run: 18947k
    Garbage: 466122k
    Leak: 57238k
    Overhead: 67141k
    GGC runs: 550

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 104741k
    Peak memory use before GGC: 85965k
    Peak memory use after GGC: 84929k
    Maximum of released memory in single GGC run: 18947k
    Garbage: 500457k
    Leak: 57816k
    Overhead: 76606k
    GGC runs: 594

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 112473k
    Peak memory use before GGC: 92703k
    Peak memory use after GGC: 86223k
    Maximum of released memory in single GGC run: 19713k
    Garbage: 520384k
    Leak: 58142k
    Overhead: 78449k
    GGC runs: 579

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2005-01-17 20:13:51.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2005-01-18 00:50:35.000000000 +0000
@@ -1,3 +1,32 @@
+2005-01-17  Kelley Cook  <kcook@gcc.gnu.org>
+
+	* Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
+	bubblestrap from always rebuilding build directory.
+
+2005-01-17  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* config/s390/s390.md ("*clc"): Remove incorrect '='.
+	("*cmpmem_short"): Likewise.
+
+2005-01-17  Steven Bosscher  <stevenb@suse.de>
+
+	* basic-block.h: Document BB_* flags.
+	* regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
+	use an sbitmap instead.
+	* sched-rgn.c (compute_trg_info): Likewise.
+
+2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
+
+	* config.gcc (mips64*-*-linux*): Set the default abi to n32.  Remove
+	redundant target_cpu_default and extra_parts lines.  Use the default
+	"from-abi" ISA.
+	* config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
+	(SUBTARGET_EXTRA_SPECS): Delete.
+	(DRIVER_SELF_SPECS): Remove architecture lines.  Set the ABI directly.
+	(SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
+	* config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
+	and "n32" for -mabi=n32.
+
 2005-01-17  Ian Lance Taylor  <ian@airs.com>
 
 	PR c/5675
@@ -28,11 +57,6 @@
 	of pthread_create to find out if threads are enabled.
 	* gthr-posix95.h (__gthread_active_p): Likewise.
 
-2005-01-17  Ira Rosen  <irar@il.ibm.com>
-
-	* fortran/f95-lang.c (gfc_init_builtin_functions): Call
-	targetm.init_builtins.
-
 2005-01-17  Paolo Bonzini  <bonzini@gnu.org>
 
 	* common.opt (-fnew-ra): Remove.

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]