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

comparing combine.c compilation at -O1 level:
    Overall memory needed: 25513k -> 25521k
    Peak memory use before GGC: 9237k -> 9235k
    Peak memory use after GGC: 8740k
    Maximum of released memory in single GGC run: 2026k
    Garbage: 60629k -> 60532k
    Leak: 6756k
    Overhead: 9937k -> 9936k
    GGC runs: 501 -> 500

comparing combine.c compilation at -O2 level:
    Overall memory needed: 29157k -> 29161k
    Peak memory use before GGC: 12670k
    Peak memory use after GGC: 12544k
    Maximum of released memory in single GGC run: 2597k
    Garbage: 78576k -> 78473k
    Leak: 6593k
    Overhead: 13978k -> 13978k
    GGC runs: 510

comparing combine.c compilation at -O3 level:
    Overall memory needed: 31593k -> 31517k
    Peak memory use before GGC: 12773k
    Peak memory use after GGC: 12544k
    Maximum of released memory in single GGC run: 3434k
    Garbage: 105895k -> 105793k
    Leak: 7120k
    Overhead: 18743k -> 18743k
    GGC runs: 577

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

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 124568k -> 123624k
    Peak memory use before GGC: 78747k
    Peak memory use after GGC: 70087k
    Maximum of released memory in single GGC run: 40787k -> 40781k
    Garbage: 370669k -> 370048k
    Leak: 11361k
    Overhead: 69439k -> 69439k
    GGC runs: 398

comparing insn-attrtab.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 138092k to 147756k, overall 7.00%
    Overall memory needed: 138092k -> 147756k
    Peak memory use before GGC: 97758k
    Peak memory use after GGC: 83478k
    Maximum of released memory in single GGC run: 39384k
    Garbage: 484557k -> 483932k
    Leak: 11242k
    Overhead: 84528k -> 84528k
    GGC runs: 342

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 147800k -> 147792k
    Peak memory use before GGC: 97759k
    Peak memory use after GGC: 83480k
    Maximum of released memory in single GGC run: 39384k
    Garbage: 485374k -> 484744k
    Leak: 11279k
    Overhead: 84658k -> 84658k
    GGC runs: 348

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 111028k -> 111056k
    Peak memory use before GGC: 87201k -> 87156k
    Peak memory use after GGC: 85872k -> 85895k
    Maximum of released memory in single GGC run: 19555k -> 19511k
    Garbage: 246842k -> 246091k
    Leak: 55524k -> 55523k
    Overhead: 43327k -> 43325k
    GGC runs: 367 -> 366

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 103857k -> 103909k
    Peak memory use before GGC: 86089k -> 86014k
    Peak memory use after GGC: 85053k -> 85113k
    Maximum of released memory in single GGC run: 19025k -> 18951k
    Garbage: 436718k -> 435976k
    Leak: 56858k -> 56857k
    Overhead: 65094k -> 65092k
    GGC runs: 513

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 104097k -> 104149k
    Peak memory use before GGC: 86090k -> 86014k
    Peak memory use after GGC: 85053k -> 85114k
    Maximum of released memory in single GGC run: 19026k -> 18951k
    Garbage: 479929k -> 479179k
    Leak: 57425k -> 57424k
    Overhead: 74695k -> 74697k
    GGC runs: 572 -> 573

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Peak amount of GGC memory still allocated after garbage collectin increased from 85984k to 86193k, overall 0.24%
    Overall memory needed: 105129k -> 105205k
    Peak memory use before GGC: 87329k -> 87150k
    Peak memory use after GGC: 85984k -> 86193k
    Maximum of released memory in single GGC run: 19578k -> 19400k
    Garbage: 484757k -> 483964k
    Leak: 57588k -> 57595k
    Overhead: 75320k -> 75318k
    GGC runs: 560

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2005-02-18 17:59:55.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2005-02-19 03:04:33.000000000 +0000
@@ -1,3 +1,61 @@
+2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
+
+	* tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
+	call fold_convert.
+
+2005-02-18  James E. Wilson  <wilson@specifixinc.com>
+
+	* doc/invoke.texi (IA-64 Options): Delete -mb-step.
+	* config/ia64/ia64.c (last_group, group_idx): Delete variables.
+	(errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
+	functions.
+	(ia64_reorg): Delete fixup_errata call.
+	* config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
+	(TARGET_SWITCHES): Delete -mb-step entry.
+
+2005-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/20043
+	* c-typeck.c (composite_type): Handle quals in transparent unions.
+	(type_lists_compatible_p): Likewise.
+
+2005-02-18  Stan Shebs  <shebs@apple.com>
+
+	* config/darwin.c (machopic_select_rtx_section): Don't put relocatable
+	expressions in the .literal8 section.
+
+2005-02-18  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
+
+2005-02-18  Roger Sayle  <roger@eyesopen.com>
+
+	* fold-const.c (constant_boolean_node): Always create values of the
+	specified type, don't bother calling truthvalue_conversion.
+
+2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+	* except.c (output_function_exception_table): Call
+	assemble_external_libcall (eh_personality_libfunc).
+
+2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+	PR target/19886
+	* config/ia64/ia64.h (struct machine_function): Add state_num.
+	* config/ia64/ia64.c (process_epilogue,
+	process_for_unwind_directive): Use new unwind state numbers each
+	time rather than state 1.
+
+2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	PR target/20054
+	* config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
+	before the "*llgt_didi" pattern.
+
+2005-02-18  Jason Merrill  <jason@redhat.com>
+
+	* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
+
 2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
 
 	* arm/lib1funcs.asm (FUNC_ALIAS): New macro.
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2005-02-18 08:09:49.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2005-02-19 03:04:34.000000000 +0000
@@ -1,3 +1,20 @@
+2005-02-18  Richard Henderson  <rth@redhat.com>
+
+	PR libstdc++/10606
+	* except.c (do_get_exception_ptr): New.
+	(expand_start_catch_block): Use it.
+
+2005-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* decl.c (start_decl_1): Only check TYPE_NEEDS_CONSTRUCTING
+	if type is not error_mark_node.
+
+2005-01-20  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+	PR c++/19508
+	* decl2.c (grokfield): Do not apply attributes to template parameters
+	as they are ignored by tsubst anyway.
+
 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c++/19813

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]