This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
GCC memory consumption increased by recent patch!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Wed, 03 Nov 2004 02:51:35 +0000
- Subject: 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: 25233k
Peak memory use before GGC: 9329k
Peak memory use after GGC: 8641k
Maximum of released memory in single GGC run: 2926k
Garbage: 42515k
Leak: 6088k
Overhead: 5657k
GGC runs: 354
comparing combine.c compilation at -O1 level:
Overall memory needed: 26477k
Peak memory use before GGC: 9205k
Peak memory use after GGC: 8733k
Maximum of released memory in single GGC run: 2066k
Garbage: 69774k
Leak: 6484k
Overhead: 11359k
GGC runs: 554
comparing combine.c compilation at -O2 level:
Overall memory needed: 29825k
Peak memory use before GGC: 12705k
Peak memory use after GGC: 12579k
Maximum of released memory in single GGC run: 2576k
Garbage: 84780k
Leak: 6303k
Overhead: 15985k
GGC runs: 562
comparing combine.c compilation at -O3 level:
Overall memory needed: 21392k
Peak memory use before GGC: 13093k
Peak memory use after GGC: 12579k
Maximum of released memory in single GGC run: 3413k
Garbage: 113749k
Leak: 6845k
Overhead: 21057k
GGC runs: 629
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 118512k
Peak memory use before GGC: 79408k
Peak memory use after GGC: 46137k
Maximum of released memory in single GGC run: 43357k
Garbage: 161088k
Leak: 10609k
Overhead: 20460k
GGC runs: 295
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 125048k
Peak memory use before GGC: 86894k
Peak memory use after GGC: 70491k
Maximum of released memory in single GGC run: 41161k
Garbage: 430920k
Leak: 10956k
Overhead: 80011k
GGC runs: 441
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 151484k
Peak memory use before GGC: 102310k
Peak memory use after GGC: 85907k
Maximum of released memory in single GGC run: 42321k
Garbage: 477316k
Leak: 10883k
Overhead: 88016k
GGC runs: 362
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 151488k
Peak memory use before GGC: 102312k
Peak memory use after GGC: 85909k
Maximum of released memory in single GGC run: 42322k
Garbage: 478589k
Leak: 10927k
Overhead: 88206k
GGC runs: 371
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 112784k
Peak memory use before GGC: 89431k
Peak memory use after GGC: 88443k
Maximum of released memory in single GGC run: 19812k
Garbage: 250165k
Leak: 57105k
Overhead: 45841k
GGC runs: 363
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 95348k
Peak memory use before GGC: 88431k
Peak memory use after GGC: 87373k
Maximum of released memory in single GGC run: 19437k
Garbage: 595654k
Leak: 59145k
Overhead: 133280k
GGC runs: 628
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 95720k
Peak memory use before GGC: 88431k
Peak memory use after GGC: 87373k
Maximum of released memory in single GGC run: 19437k
Garbage: 651583k
Leak: 59735k
Overhead: 158232k
GGC runs: 675
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 103024k to 103196k, overall 0.17%
Overall memory needed: 103024k -> 103196k
Peak memory use before GGC: 95610k
Peak memory use after GGC: 88661k
Maximum of released memory in single GGC run: 20248k
Garbage: 699699k -> 699700k
Leak: 60123k
Overhead: 172017k
GGC runs: 664
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-11-02 18:47:18.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-11-03 01:46:56.000000000 +0000
@@ -1,3 +1,37 @@
+2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (find_taken_edge): Abort if we are given a
+ statement that is neither COND_EXPR nor SWITCH_EXPR.
+
+2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * fold-const.c (fold): Reassociate also (x - mult) + mult and
+ (mult - x) + mult. Cast operands of expression after applying
+ distributive law to the correct types. Apply distributive law
+ to a * c - b * c for all non-float types.
+
+2004-11-02 Geoffrey Keating <geoffk@apple.com>
+
+ * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
+ because we don't want to run them now; instead, set them to
+ stmp-install-fixproto or stmp-install-fixinc.
+ * Makefile.in (stmp-install-fixproto): New.
+ (stmp-install-fixinc): New.
+ * configure: Regenerate.
+
+2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
+
+ * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
+ of bitmap_xor.
+
+2004-11-02 Ziemowit Laski <zlaski@apple.com>
+
+ * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
+ (c_types_compatible_p): Move function definition...
+ * c-objc-common.c (c_types_compatible_p): ...here.
+ * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
+ c-lang.c.
+
2004-11-02 Steven Bosscher <stevenb@suse.de>
* cfgloop.h (struct loop): Update comment.
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2004-11-01 23:36:55.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2004-11-03 01:46:57.000000000 +0000
@@ -1,3 +1,13 @@
+2004-11-02 Ziemowit Laski <zlaski@apple.com>
+
+ * cp-lang.c (cxx_types_compatible_p): Remove prototype and definition.
+ (LANG_HOOKS_TYPES_COMPATIBLE_P): Move to cp-objcp-common.h.
+ * cp-objcp-common.c (cxx_types_compatible_p): Moved definition here
+ from cp-lang.c.
+ * cp-objcp-common.h (cxx_types_compatible_p): Moved prototype here
+ from cp-lang.c.
+ (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from cp-lang.c.
+
2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
PR c++/18064
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.