This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
A recent patch increased GCC's memory consumption!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Sun, 03 Jul 2005 20:10:52 +0000
- Subject: A recent patch increased GCC's memory consumption!
Hi,
I am a friendly script caring about memory consumption in GCC. Please
contact jh@suse.cz if something is going wrong.
Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
and generate-3.4.ii I got:
comparing combine.c compilation at -O0 level:
Overall memory needed: 24928k
Peak memory use before GGC: 9717k
Peak memory use after GGC: 9064k
Maximum of released memory in single GGC run: 2816k
Garbage: 42335k
Leak: 6720k
Overhead: 5837k
GGC runs: 335
comparing combine.c compilation at -O1 level:
Overall memory needed: 24372k
Peak memory use before GGC: 17710k
Peak memory use after GGC: 17517k
Maximum of released memory in single GGC run: 2468k
Garbage: 67909k
Leak: 7030k
Overhead: 8038k
GGC runs: 419
comparing combine.c compilation at -O2 level:
Overall memory needed: 24380k
Peak memory use before GGC: 17718k
Peak memory use after GGC: 17517k
Maximum of released memory in single GGC run: 2616k
Garbage: 87247k -> 87241k
Leak: 7207k
Overhead: 10769k -> 10768k
GGC runs: 484 -> 485
comparing combine.c compilation at -O3 level:
Amount of memory still referenced at the end of compilation increased from 7289k to 7305k, overall 0.22%
Overall memory needed: 24836k -> 24840k
Peak memory use before GGC: 17968k
Peak memory use after GGC: 17549k
Maximum of released memory in single GGC run: 3439k
Garbage: 115962k -> 115941k
Leak: 7289k -> 7305k
Overhead: 14322k -> 14317k
GGC runs: 533 -> 534
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 83372k
Peak memory use before GGC: 71655k
Peak memory use after GGC: 45752k
Maximum of released memory in single GGC run: 37689k
Garbage: 151641k
Leak: 11560k
Overhead: 18881k
GGC runs: 267
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 116668k
Peak memory use before GGC: 99408k
Peak memory use after GGC: 88890k
Maximum of released memory in single GGC run: 33484k
Garbage: 298292k
Leak: 11427k
Overhead: 35521k
GGC runs: 290
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 155568k
Peak memory use before GGC: 118554k
Peak memory use after GGC: 88864k
Maximum of released memory in single GGC run: 33619k
Garbage: 392905k
Leak: 11515k
Overhead: 47614k
GGC runs: 329
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 155560k
Peak memory use before GGC: 118558k
Peak memory use after GGC: 88866k
Maximum of released memory in single GGC run: 33619k
Garbage: 393708k
Leak: 11535k
Overhead: 47731k
GGC runs: 334
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 124856k
Peak memory use before GGC: 100707k
Peak memory use after GGC: 99710k
Maximum of released memory in single GGC run: 21552k
Garbage: 230928k
Leak: 53150k
Overhead: 39837k
GGC runs: 337
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 108900k
Peak memory use before GGC: 99624k
Peak memory use after GGC: 98632k
Maximum of released memory in single GGC run: 20596k
Garbage: 645616k
Leak: 58288k
Overhead: 80487k
GGC runs: 525
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 109484k -> 109488k
Peak memory use before GGC: 99624k
Peak memory use after GGC: 98632k
Maximum of released memory in single GGC run: 20595k
Garbage: 736972k -> 737005k
Leak: 58987k -> 58971k
Overhead: 97642k -> 97649k
GGC runs: 588 -> 589
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 111916k -> 111932k
Peak memory use before GGC: 101141k
Peak memory use after GGC: 100133k
Maximum of released memory in single GGC run: 21090k
Garbage: 779883k -> 779874k
Leak: 60171k -> 60171k
Overhead: 101732k -> 101731k
GGC runs: 595
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-07-03 14:36:37.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-07-03 19:06:14.000000000 +0000
@@ -1,3 +1,18 @@
+2005-07-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * c-decl.c, tree-object-size.c, tree-vectorizer.c,
+ config/arm/unwind-arm.c, config/arm/unwind-arm.h: Fix comment
+ typos.
+
+2005-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (fix_range): Fix typo in comment.
+
+2005-07-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-vrp.c (extract_range_from_assert): Replace
+ fold (build (...)) with fold_build2.
+
2005-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* c-format.c (gcc_gfc_format_type, gcc_gfc_flag_pairs,
The results can be reproduced by building a 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.
Your testing script.