GCC memory consumption increased by recent patch!
gcctest@suse.de
gcctest@suse.de
Wed Dec 8 02:34:00 GMT 2004
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: 25329k
Peak memory use before GGC: 9329k
Peak memory use after GGC: 8641k
Maximum of released memory in single GGC run: 2926k
Garbage: 42601k
Leak: 6087k
Overhead: 5743k
GGC runs: 354
comparing combine.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 25885k to 26145k, overall 1.00%
Overall memory needed: 25885k -> 26145k
Peak memory use before GGC: 9201k
Peak memory use after GGC: 8723k
Maximum of released memory in single GGC run: 2063k
Garbage: 68067k
Leak: 6484k
Overhead: 10671k
GGC runs: 547
comparing combine.c compilation at -O2 level:
Overall memory needed: 29989k -> 29993k
Peak memory use before GGC: 12705k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 2575k
Garbage: 82364k
Leak: 6305k
Overhead: 14872k
GGC runs: 549
comparing combine.c compilation at -O3 level:
Overall memory needed: 20764k
Peak memory use before GGC: 12987k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 3412k
Garbage: 111191k
Leak: 6832k
Overhead: 19887k
GGC runs: 615
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 118468k
Peak memory use before GGC: 79386k
Peak memory use after GGC: 46137k
Maximum of released memory in single GGC run: 43335k
Garbage: 162034k
Leak: 10609k
Overhead: 21249k
GGC runs: 295
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 132256k
Peak memory use before GGC: 85238k
Peak memory use after GGC: 70037k
Maximum of released memory in single GGC run: 41132k
Garbage: 449332k
Leak: 10955k
Overhead: 79597k
GGC runs: 429
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 154184k
Peak memory use before GGC: 101254k
Peak memory use after GGC: 85454k
Maximum of released memory in single GGC run: 42175k
Garbage: 496336k
Leak: 10883k
Overhead: 87863k
GGC runs: 363
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 154200k
Peak memory use before GGC: 101255k
Peak memory use after GGC: 85456k
Maximum of released memory in single GGC run: 42175k
Garbage: 497624k
Leak: 10930k
Overhead: 88052k
GGC runs: 371
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 113252k
Peak memory use before GGC: 89795k
Peak memory use after GGC: 88905k
Maximum of released memory in single GGC run: 19901k
Garbage: 249005k
Leak: 57666k
Overhead: 45421k
GGC runs: 362
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 95796k
Peak memory use before GGC: 88796k
Peak memory use after GGC: 87822k
Maximum of released memory in single GGC run: 19406k
Garbage: 553627k -> 553631k
Leak: 59700k
Overhead: 115466k -> 115466k
GGC runs: 611
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 95796k
Peak memory use before GGC: 88796k
Peak memory use after GGC: 87822k
Maximum of released memory in single GGC run: 19405k
Garbage: 602694k -> 602698k
Leak: 60281k
Overhead: 137635k -> 137635k
GGC runs: 655
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 98380k -> 98384k
Peak memory use before GGC: 90197k
Peak memory use after GGC: 88649k
Maximum of released memory in single GGC run: 20099k
Garbage: 642690k -> 642694k
Leak: 60622k
Overhead: 148933k -> 148933k
GGC runs: 647
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-12-07 20:46:04.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-12-08 01:29:17.000000000 +0000
@@ -1,3 +1,61 @@
+2004-12-08 Richard Guenther <richard.guenther@uni-tuebingen.de>
+
+ * doc/invoke.texi: Adjust default values for
+ large-function-growth and inline-unit-growth to match
+ params.def. Clarify used algorithm.
+
+2004-12-07 David Mosberger <davidm@hpl.hp.com>
+
+ PR target/18443
+ * config/ia64/ia64.c (ia64_assemble_integer): Add support for
+ emitting unaligned pointer-sized integers.
+
+2004-12-07 Steven Bosscher <stevenb@suse.de>
+
+ PR c/18867
+ * c-typeck.c (c_start_case): Set orig_type to error_mark_node
+ when the type of the controlling expression is not a valid type.
+
+2004-12-07 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/17340
+ * tree-ssa-pre.c (compute_antic): Fix comment.
+ (compute_avail): Do not recurse, instead do a DFS using a stack
+ and a loop.
+ (execute_pre): Adjust.
+
+2004-12-07 Ziemowit Laski <zlaski@apple.com>
+
+ * c-tree.h (struct lang_type): Rename 'objc_protocols' field
+ to 'objc_info'.
+
+2004-12-07 Eric Christopher <echristo@redhat.com>
+
+ PR target/16317
+ * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2004-12-07 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips-protos.h (mips_valid_pointer_mode): Move
+ prototype...
+ * config/mips/mips.c: ... here. Make static.
+
+2004-12-07 Eric Christopher <echristo@redhat.com>
+
+ PR target/18442
+ * config/mips/mips.c (mips_vector_mode_supported_p): New function.
+ (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
+
+2004-12-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.c, expr.c, fold-const.c, print-tree.c,
+ tree-gimple.c, tree-inline.c, tree-pretty-print.c,
+ tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
+ first_rtl_op with TREE_CODE_LENGTH.
+ * tree.c (first_rtl_op): Remove.
+ Replace uses of first_rtl_op with TREE_CODE_LENGTH.
+ * tree.h: Remove the prototype for first_rtl_op.
+
2004-12-07 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2004-12-07 16:11:24.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2004-12-08 01:29:20.000000000 +0000
@@ -1,3 +1,12 @@
+2004-12-07 Ziemowit Laski <zlaski@apple.com>
+
+ * cp-tree.h (struct lang_type_class): Rename 'objc_protocols'
+ field to 'objc_info'.
+
+2004-12-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * pt.c: Replace a use of first_rtl_op with TREE_CODE_LENGTH.
+
2004-12-07 Roger Sayle <roger@eyesopen.com>
* name-lookup.c (leave_scope): We only need to update
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.
More information about the Gcc-regression
mailing list