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: 24665k -> 24669k
    Peak memory use before GGC: 9358k
    Peak memory use after GGC: 8673k
    Maximum of released memory in single GGC run: 2863k
    Garbage: 41664k
    Leak: 6395k
    Overhead: 5773k
    GGC runs: 327

comparing combine.c compilation at -O1 level:
  Amount of produced GGC garbage increased from 60283k to 60532k, overall 0.41%
    Overall memory needed: 25533k -> 25521k
    Peak memory use before GGC: 9235k
    Peak memory use after GGC: 8740k
    Maximum of released memory in single GGC run: 2028k -> 2026k
    Garbage: 60283k -> 60532k
    Leak: 6756k
    Overhead: 9906k -> 9936k
    GGC runs: 501 -> 500

comparing combine.c compilation at -O2 level:
  Amount of produced GGC garbage increased from 78211k to 78473k, overall 0.34%
    Overall memory needed: 29153k
    Peak memory use before GGC: 12670k
    Peak memory use after GGC: 12544k
    Maximum of released memory in single GGC run: 2597k
    Garbage: 78211k -> 78473k
    Leak: 6593k
    Overhead: 13950k -> 13978k
    GGC runs: 508 -> 510

comparing combine.c compilation at -O3 level:
  Amount of produced GGC garbage increased from 105562k to 105794k, overall 0.22%
    Overall memory needed: 31617k -> 31505k
    Peak memory use before GGC: 12773k
    Peak memory use after GGC: 12544k
    Maximum of released memory in single GGC run: 3407k -> 3434k
    Garbage: 105562k -> 105794k
    Leak: 7120k -> 7120k
    Overhead: 18707k -> 18743k
    GGC runs: 577

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 114136k
    Peak memory use before GGC: 74747k
    Peak memory use after GGC: 45493k
    Maximum of released memory in single GGC run: 39340k
    Garbage: 152668k
    Leak: 10984k
    Overhead: 19970k
    GGC runs: 274

comparing insn-attrtab.c compilation at -O1 level:
  Amount of produced GGC garbage increased from 366124k to 370048k, overall 1.07%
    Overall memory needed: 124228k -> 123624k
    Peak memory use before GGC: 78756k -> 78747k
    Peak memory use after GGC: 70103k -> 70087k
    Maximum of released memory in single GGC run: 40779k -> 40781k
    Garbage: 366124k -> 370048k
    Leak: 11361k
    Overhead: 69303k -> 69439k
    GGC runs: 396 -> 398

comparing insn-attrtab.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 147332k to 147756k, overall 0.29%
  Amount of produced GGC garbage increased from 479990k to 483932k, overall 0.82%
    Overall memory needed: 147332k -> 147756k
    Peak memory use before GGC: 98356k -> 97758k
    Peak memory use after GGC: 83473k -> 83478k
    Maximum of released memory in single GGC run: 39384k
    Garbage: 479990k -> 483932k
    Leak: 11242k
    Overhead: 84391k -> 84528k
    GGC runs: 340 -> 342

comparing insn-attrtab.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 147356k to 147792k, overall 0.30%
  Amount of produced GGC garbage increased from 480803k to 484744k, overall 0.82%
    Overall memory needed: 147356k -> 147792k
    Peak memory use before GGC: 98358k -> 97759k
    Peak memory use after GGC: 83475k -> 83480k
    Maximum of released memory in single GGC run: 39384k
    Garbage: 480803k -> 484744k
    Leak: 11279k
    Overhead: 84520k -> 84658k
    GGC runs: 346 -> 348

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 111056k
    Peak memory use before GGC: 87156k
    Peak memory use after GGC: 85895k
    Maximum of released memory in single GGC run: 19511k
    Garbage: 246085k
    Leak: 55523k
    Overhead: 43324k
    GGC runs: 366

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Amount of produced GGC garbage increased from 433596k to 435965k, overall 0.55%
    Overall memory needed: 103909k
    Peak memory use before GGC: 86014k
    Peak memory use after GGC: 85113k
    Maximum of released memory in single GGC run: 18951k
    Garbage: 433596k -> 435965k
    Leak: 56857k
    Overhead: 64546k -> 65091k
    GGC runs: 511 -> 513

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Amount of produced GGC garbage increased from 475756k to 479185k, overall 0.72%
    Overall memory needed: 104133k -> 104149k
    Peak memory use before GGC: 86014k
    Peak memory use after GGC: 85114k
    Maximum of released memory in single GGC run: 18951k
    Garbage: 475756k -> 479185k
    Leak: 57425k -> 57424k
    Overhead: 74090k -> 74698k
    GGC runs: 571 -> 572

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Amount of produced GGC garbage increased from 480397k to 483943k, overall 0.74%
    Overall memory needed: 105213k -> 105205k
    Peak memory use before GGC: 87150k
    Peak memory use after GGC: 86193k
    Maximum of released memory in single GGC run: 19400k
    Garbage: 480397k -> 483943k
    Leak: 57563k -> 57595k
    Overhead: 74689k -> 75313k
    GGC runs: 557 -> 559

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2005-02-16 18:19:55.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2005-02-16 22:50:37.000000000 +0000
@@ -1,3 +1,43 @@
+2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* PR target/19162
+	* arm.c (arm_apply_result_size): New function.
+	* arm.h (APPLY_RESULT_SIZE): Define.
+	* arm-protos.h (arm_apply_result_size): Add prototype.
+	* arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
+	(movxf): New expand.
+	(ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
+	(call_value_symbol): Remove predicate for operand 0.
+	(call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
+	(untyped_call): Rework to correclty return values for any type.
+	(untyped_return): New expand.
+	* fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
+
+2005-02-16  Stan Shebs  <shebs@apple.com>
+
+	* config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
+	* config/rs6000/t-darwin8: New, for 64-bit multilib.
+
+2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* doc/install.texi (sparc-sun-solaris2*): Document required
+	configure settings on Solaris 7 and later.
+
+2005-02-16  Diego Novillo  <dnovillo@redhat.com>
+
+	PR tree-optimization/19865
+	* tree-optimize.c (init_tree_optimization_passes): Run
+	pass_may_alias after pass_sra.
+
+2005-02-16  Richard Henderson  <rth@redhat.com>
+	    Stuart Hastings  <stuart@apple.com>
+
+	PR debug/19521
+	* dbxout.c (dbxout_function_end): Take decl parameter; update callers.
+	Do nothing if debug info suppressed for this function.
+	(dbxout_begin_function): Early exit if debug info suppressed for
+	this function.
+
 2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
 
 	PR target/20007

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]